summaryrefslogtreecommitdiff
path: root/cpp/src/IceSSL/PluginI.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceSSL/PluginI.h')
-rw-r--r--cpp/src/IceSSL/PluginI.h26
1 files changed, 6 insertions, 20 deletions
diff --git a/cpp/src/IceSSL/PluginI.h b/cpp/src/IceSSL/PluginI.h
index 71d35b3a566..3cb9a14b024 100644
--- a/cpp/src/IceSSL/PluginI.h
+++ b/cpp/src/IceSSL/PluginI.h
@@ -17,19 +17,16 @@
namespace IceSSL
{
-class PluginI : public IceSSL::Plugin
+class ICESSL_API PluginI : public virtual IceSSL::Plugin
{
public:
- PluginI(const Ice::CommunicatorPtr&);
-
+ PluginI(const Ice::CommunicatorPtr&, const IceSSL::SSLEnginePtr&);
//
// From Ice::Plugin.
//
virtual void initialize();
virtual void destroy();
- virtual std::string getEngineName() const;
- virtual Ice::Long getEngineVersion() const;
//
// From IceSSL::Plugin.
@@ -42,22 +39,11 @@ public:
virtual void setPasswordPrompt(const PasswordPromptPtr&);
#endif
-#ifdef ICE_USE_OPENSSL
- virtual void setContext(SSL_CTX*);
- virtual SSL_CTX* getContext();
-#endif
-
-private:
+ virtual CertificatePtr load(const std::string&) const = 0;
+ virtual CertificatePtr decode(const std::string&) const = 0;
+protected:
-#if defined(ICE_USE_SECURE_TRANSPORT)
- SecureTransportEnginePtr _engine;
-#elif defined(ICE_USE_SCHANNEL)
- SChannelEnginePtr _engine;
-#elif defined(ICE_OS_UWP)
- UWPEnginePtr _engine;
-#else
- OpenSSLEnginePtr _engine;
-#endif
+ SSLEnginePtr _engine;
};
}