1 //#include "policy.idl"
2 #include "security.idl"
4 module SecurityDomain {
6 typedef string Istring;
13 typedef sequence <NameComponent> Name;
14 typedef sequence <Name> NameList;
15 // typedef unsigned short PolicyCombinator;
17 enum CombinatorSetType {
24 typedef CombinatorSetType PolicyCombinator;
26 struct CombinatorInfo {
27 CORBA::PolicyType policy_type;
28 CombinatorSetType combinator;
31 typedef sequence<CombinatorInfo> CombinatorInfoList;
33 interface NameIterator;
34 interface DomainManagerAdmin;
36 typedef sequence<DomainManagerAdmin> DomainManagerAdminList;
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);
44 boolean load_config_file(in string filename, in Istring type);
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);
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();
58 interface DomainAuthority : DomainManagerAdmin {
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);
70 interface DomainAuthorityAdmin : DomainAuthority {
71 void add_domain_manager(in DomainManagerAdmin domainManager,
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);
81 interface NameIterator {
82 boolean next_one(out Name domainName);
87 string to_string(in Name domainName);
88 Name to_name(in string urlName);