SecurityPluginInst.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef OPENDDS_DCPS_SECURITY_PLUGIN_INST_H
00009 #define OPENDDS_DCPS_SECURITY_PLUGIN_INST_H
00010
00011 #include "dds/DdsSecurityCoreC.h"
00012
00013 #include "dds/DCPS/dcps_export.h"
00014 #include "dds/DCPS/RcObject.h"
00015
00016 #include "ace/Synch_Traits.h"
00017
00018 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL
00019
00020 namespace OpenDDS {
00021 namespace Security {
00022
00023 using DDS::Security::Authentication_var;
00024 using DDS::Security::AccessControl_var;
00025 using DDS::Security::CryptoKeyFactory_var;
00026 using DDS::Security::CryptoKeyExchange_var;
00027 using DDS::Security::CryptoTransform_var;
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 class OpenDDS_Dcps_Export SecurityPluginInst : public DCPS::RcObject {
00042 public:
00043
00044
00045
00046 virtual Authentication_var create_authentication() = 0;
00047 virtual AccessControl_var create_access_control() = 0;
00048 virtual CryptoKeyExchange_var create_crypto_key_exchange() = 0;
00049 virtual CryptoKeyFactory_var create_crypto_key_factory() = 0;
00050 virtual CryptoTransform_var create_crypto_transform() = 0;
00051
00052
00053 virtual void shutdown() = 0;
00054
00055 protected:
00056
00057 SecurityPluginInst();
00058 virtual ~SecurityPluginInst();
00059 };
00060
00061
00062 }
00063 }
00064
00065 OPENDDS_END_VERSIONED_NAMESPACE_DECL
00066
00067 #endif