2005-01-19 Sebastien Pouliot <sebastien@ximian.com>
[mono.git] / mono / metadata / security-manager.c
1 /*
2  * security-manager.c:  Security Manager (Unmanaged side)
3  *
4  * Author:
5  *      Sebastien Pouliot  <sebastien@ximian.com>
6  *
7  * Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
8  */
9
10 #include "security-manager.h"
11
12
13 /* Internal stuff */
14
15 static MonoSecurityManager secman;
16
17
18 /* Public stuff */
19
20 MonoSecurityManager*
21 mono_security_manager_get_methods (void)
22 {
23         /* Already initialized ? */
24         if (secman.securitymanager)
25                 return &secman;
26
27         /* Initialize */
28         secman.securitymanager = mono_class_from_name (mono_defaults.corlib, 
29                 "System.Security", "SecurityManager");
30         g_assert (secman.securitymanager);
31         if (!secman.securitymanager->inited)
32                 mono_class_init (secman.securitymanager);
33                 
34         secman.demand = mono_class_get_method_from_name (secman.securitymanager,
35                 "InternalDemand", 2);   
36         secman.inheritancedemand = mono_class_get_method_from_name (secman.securitymanager,
37                 "InheritanceDemand", 2);        
38         secman.linkdemand = mono_class_get_method_from_name (secman.securitymanager,
39                 "LinkDemand", 9);
40
41         return &secman;
42 }