OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I386LINUX / util / I386LINUX / include / mico / security / DomainManager.idl
1 //#include "policy.idl"
2 #include "security.idl"
3
4 module SecurityDomain {
5
6     typedef string Istring;
7
8     struct NameComponent {
9         Istring id;
10         Istring kind;
11     };
12
13     typedef sequence <NameComponent> Name;
14     typedef sequence <Name> NameList;
15     // typedef unsigned short PolicyCombinator;
16  
17     enum CombinatorSetType {
18         _Union,
19         Intersection,
20         Negation,
21         FirstFit
22     };
23
24     typedef CombinatorSetType PolicyCombinator;
25
26     struct CombinatorInfo {
27         CORBA::PolicyType policy_type;
28         CombinatorSetType combinator;
29     };
30  
31     typedef sequence<CombinatorInfo> CombinatorInfoList;
32  
33     interface NameIterator;
34     interface DomainManagerAdmin;
35
36     typedef sequence<DomainManagerAdmin> DomainManagerAdminList;
37
38     interface DomainManagerFactory {
39         DomainManagerAdmin get_root_domain_manager(in Istring type);
40         void add_root_domain_manager(in Istring type);
41         DomainManagerAdmin create_domain_manager();
42         void release_domain_manager(in DomainManagerAdmin domainManager);
43         // extension
44         boolean load_config_file(in string filename, in Istring type);
45     };
46  
47     interface DomainManagerAdmin {//  CORBA::DomainManager {
48         void set_domain_policy(in CORBA::Policy policy);
49         CORBA::Policy get_domain_policy(in CORBA::PolicyType policyType);
50         void delete_domain_policy(in CORBA::PolicyType policyType);
51         Name get_name();
52         void set_name(in Name name);
53         DomainManagerAdminList get_parent_domain_managers();
54         void set_parent_domain_managers(in DomainManagerAdminList managers);
55         DomainManagerAdminList get_child_domain_managers();
56     };
57
58     interface DomainAuthority : DomainManagerAdmin {
59         boolean is_root();
60         boolean exists();
61         PolicyCombinator get_policy_combinator(in CORBA::PolicyType policyType);
62         PolicyCombinator get_policy_combinator_for_multi_parents(in CORBA::PolicyType policyType,
63                                                                  in DomainManagerAdmin parent);
64         NameIterator get_child_domain_names();
65         Name get_domain_name(in DomainManagerAdmin domainManager);
66         DomainManagerAdmin get_domain_manager(in Name domainName);
67     };
68
69
70     interface DomainAuthorityAdmin : DomainAuthority {
71         void add_domain_manager(in DomainManagerAdmin domainManager,
72                                 in Name domainName);
73         void remove_domain_manager(in DomainManagerAdmin child);
74         void set_policy_combinator(in CORBA::PolicyType policyType,
75                                    in PolicyCombinator combinator);
76         void set_policy_combinator_for_multi_parents(in CORBA::PolicyType policyType,
77                                                      in PolicyCombinator combinator,
78                                                      in DomainManagerAdmin parent);
79     };
80
81     interface NameIterator {
82         boolean next_one(out Name domainName);
83         void destroy();
84     };
85  
86     interface NameExt {
87         string to_string(in Name domainName);
88         Name to_name(in string urlName);
89     };
90 };
91
92
93
94
95
96