blob: ee9d3dee307dc8e83e5ac7d3bc9f6c07fec0ae9a [file] [log] [blame]
#ifndef _SECURITY_ADMIN_IDL
#define _SECURITY_ADMIN_IDL
#pragma prefix "omg.org"
#include <SecurityLevel2.idl>
module SecurityAdmin
{
// interface AccessPolicy
interface AccessPolicy : CORBA::Policy
{
Security::RightsList get_effective_rights (
in Security::AttributeList attrib_list,
in Security::ExtensibleFamily rights_family
);
Security::RightsList get_all_effective_rights(
in Security::AttributeList attrib_list
);
};
// interface DomainAccessPolicy
interface DomainAccessPolicy : AccessPolicy
{
void grant_rights(
in Security::SecAttribute priv_attr,
in Security::DelegationState del_state,
in Security::RightsList rights
);
void revoke_rights(
in Security::SecAttribute priv_attr,
in Security::DelegationState del_state,
in Security::RightsList rights
);
void replace_rights (
in Security::SecAttribute priv_attr,
in Security::DelegationState del_state,
in Security::RightsList rights
);
Security::RightsList get_rights (
in Security::SecAttribute priv_attr,
in Security::DelegationState del_state,
in Security::ExtensibleFamily rights_family
);
Security::RightsList get_all_rights(
in Security::SecAttribute priv_attr,
in Security::DelegationState del_state
);
};
// interface AuditPolicy
interface AuditPolicy : CORBA::Policy
{
void set_audit_selectors (
in CORBA::RepositoryId object_type,
in Security::AuditEventTypeList events,
in Security::SelectorValueList selectors,
in Security::AuditCombinator audit_combinator
);
void clear_audit_selectors (
in CORBA::RepositoryId object_type,
in Security::AuditEventTypeList events
);
void replace_audit_selectors (
in CORBA::RepositoryId object_type,
in Security::AuditEventTypeList events,
in Security::SelectorValueList selectors,
in Security::AuditCombinator audit_combinator
);
void get_audit_selectors (
in CORBA::RepositoryId object_type,
in Security::AuditEventType event_type,
out Security::SelectorValueList selectors,
out Security::AuditCombinator audit_combinator
);
void set_audit_channel (
in Security::AuditChannelId audit_channel_id
);
};
// interface SecureInvocationPolicy
interface SecureInvocationPolicy : CORBA::Policy
{
void set_association_options(
in CORBA::InterfaceDef object_type,
in Security::RequiresSupports requires_supports,
in Security::CommunicationDirection direction,
in Security::AssociationOptions options
);
Security::AssociationOptions get_association_options(
in CORBA::InterfaceDef object_type,
in Security::RequiresSupports requires_supports,
in Security::CommunicationDirection direction
);
};
// interface DelegationPolicy
interface DelegationPolicy : CORBA::Policy
{
void set_delegation_mode(
in CORBA::InterfaceDef object_type,
in Security::DelegationMode mode
);
Security::DelegationMode get_delegation_mode(
in CORBA::InterfaceDef object_type
);
};
};
#endif /* _SECURITY_ADMIN_IDL_ */