8 #ifndef OPENDDS_DCPS_SECURITY_ACCESSCONTROLBUILTINIMPL_H 9 #define OPENDDS_DCPS_SECURITY_ACCESSCONTROLBUILTINIMPL_H 22 #include <dds/DdsSecurityCoreC.h> 34 #if !defined (ACE_LACKS_PRAGMA_ONCE) 62 DDS::Security::Authentication_ptr auth_plugin,
69 DDS::Security::Authentication_ptr auth_plugin,
76 virtual bool check_create_participant(
82 virtual bool check_create_datawriter(
85 const char* topic_name,
91 virtual bool check_create_datareader(
94 const char* topic_name,
100 virtual bool check_create_topic(
103 const char* topic_name,
107 virtual bool check_local_datawriter_register_instance(
109 DDS::DataWriter_ptr writer,
110 DDS::DynamicData_ptr
key,
113 virtual bool check_local_datawriter_dispose_instance(
115 DDS::DataWriter_ptr writer,
116 DDS::DynamicData_ptr key,
119 virtual bool check_remote_participant(
125 virtual bool check_remote_datawriter(
131 virtual bool check_remote_datareader(
138 virtual bool check_remote_topic(
144 virtual bool check_local_datawriter_match(
151 virtual bool check_local_datareader_match(
158 virtual bool check_remote_datawriter_register_instance(
160 DDS::DataReader_ptr reader,
162 DDS::DynamicData_ptr key,
165 virtual bool check_remote_datawriter_dispose_instance(
167 DDS::DataReader_ptr reader,
169 DDS::DynamicData_ptr key,
172 virtual bool get_permissions_token(
177 virtual bool get_permissions_credential_token(
182 virtual bool set_listener(
183 DDS::Security::AccessControlListener_ptr listener,
186 virtual bool return_permissions_handle(
190 virtual bool return_permissions_token(
194 virtual bool return_permissions_credential_token(
198 virtual bool get_participant_sec_attributes(
203 virtual bool get_topic_sec_attributes(
205 const char* topic_name,
209 virtual bool get_datawriter_sec_attributes(
211 const char* topic_name,
217 virtual bool get_datareader_sec_attributes(
219 const char* topic_name,
225 virtual bool return_participant_sec_attributes(
229 virtual bool return_datawriter_sec_attributes(
233 virtual bool return_datareader_sec_attributes(
237 static bool pattern_match(
const char*
string,
const char* pattern);
255 typedef std::map<DDS::Security::PermissionsHandle, AccessData>
ACPermsMap;
258 typedef std::map<DDS::Security::IdentityHandle, DDS::Security::PermissionsHandle>
ACIdentityMap;
287 int generate_handle();
296 RevokePermissionsTask_rch& make_task(RevokePermissionsTask_rch& task);
302 const char* topic_name,
308 bool search_permissions(
const char* topic_name,
315 void parse_class_id(
const std::string& class_id,
316 std::string& plugin_class_name,
327 #endif // OPENDDS_DCPS_SECURITY_ACCESSCONTROLBUILTINIMPL_H
ACE_Thread_Mutex handle_mutex_
Permissions::shared_ptr perm
DDS::DomainId_t DomainId_t
#define OPENDDS_MULTIMAP(K, T)
Governance::shared_ptr gov
std::map< DDS::Security::IdentityHandle, DDS::Security::PermissionsHandle > ACIdentityMap
DDS::Security::IdentityHandle identity
ACPermsMap local_ac_perms_
Implements the DDS built-in version of the Access Control plugin for the DDS Security Specification...
ExpirationToHandle expiration_to_handle_
std::map< DDS::Security::PermissionsHandle, AccessData > ACPermsMap
RevokePermissionsTask_rch remote_rp_task_
DDS::Security::DomainId_t domain_id
HANDLE_TYPE_NATIVE InstanceHandle_t
ACIdentityMap local_identity_map_
DDS::Security::AccessControlListener_ptr listener_ptr_
#define OPENDDS_MAP(K, V)
#define OpenDDS_Security_Export
ACE_Thread_Mutex gen_handle_mutex_
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
HandleToExpiration handle_to_expiration_
LocalAccessCredentialData::shared_ptr local_access_credential_data
int insert(Container &c, const ValueType &v)
DCPS::RcHandle< RevokePermissionsTask > RevokePermissionsTask_rch
AccessControlBuiltInImpl & impl_
The Internal API and Implementation of OpenDDS.
RevokePermissionsTask_rch local_rp_task_