00001 /* 00002 * 00003 * 00004 * Distributed under the OpenDDS License. 00005 * See: http://www.opendds.org/license.html 00006 */ 00007 00008 #ifndef OPENDDS_DCPS_BUILTIN_SECURITY_INST_H 00009 #define OPENDDS_DCPS_BUILTIN_SECURITY_INST_H 00010 00011 #include "dds/DCPS/security/DdsSecurity_Export.h" 00012 #include "dds/DCPS/security/framework/SecurityPluginInst.h" 00013 00014 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 00015 00016 namespace OpenDDS { 00017 namespace Security { 00018 00019 /** 00020 * @class BuiltInSecurityPluginInst 00021 * 00022 * @brief Factory object to create interfaces for the BuiltIn plugin. 00023 */ 00024 class DdsSecurity_Export BuiltInSecurityPluginInst : public SecurityPluginInst { 00025 public: 00026 00027 BuiltInSecurityPluginInst(); 00028 ~BuiltInSecurityPluginInst(); 00029 00030 virtual Authentication_var create_authentication(); 00031 virtual AccessControl_var create_access_control(); 00032 virtual CryptoKeyFactory_var create_crypto_key_factory(); 00033 virtual CryptoKeyExchange_var create_crypto_key_exchange(); 00034 virtual CryptoTransform_var create_crypto_transform(); 00035 00036 virtual void shutdown(); 00037 00038 private: 00039 Authentication_var authentication_; 00040 AccessControl_var access_control_; 00041 CryptoKeyFactory_var key_factory_; 00042 CryptoKeyExchange_var key_exchange_; 00043 CryptoTransform_var transform_; 00044 00045 BuiltInSecurityPluginInst(const BuiltInSecurityPluginInst&); 00046 BuiltInSecurityPluginInst& operator=(const BuiltInSecurityPluginInst&); 00047 }; 00048 00049 00050 } // namespace DCPS 00051 } // namespace OpenDDS 00052 00053 OPENDDS_END_VERSIONED_NAMESPACE_DECL 00054 00055 #endif