summaryrefslogtreecommitdiff
path: root/cpp/include/IceSSL/Plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include/IceSSL/Plugin.h')
-rw-r--r--cpp/include/IceSSL/Plugin.h21
1 files changed, 17 insertions, 4 deletions
diff --git a/cpp/include/IceSSL/Plugin.h b/cpp/include/IceSSL/Plugin.h
index 75cfa266d8b..05cba8654c0 100644
--- a/cpp/include/IceSSL/Plugin.h
+++ b/cpp/include/IceSSL/Plugin.h
@@ -469,11 +469,14 @@ public:
};
ICE_DEFINE_PTR(NativeConnectionInfoPtr, NativeConnectionInfo);
+
+#ifndef ICE_CPP11_MAPPING // C++98 mapping
//
// An application can customize the certificate verification process
// by implementing the CertificateVerifier interface.
//
-class ICE_SSL_API CertificateVerifier : public Ice::EnableSharedFromThis<CertificateVerifier>
+
+class ICE_SSL_API CertificateVerifier : public IceUtil::Shared
{
public:
@@ -485,7 +488,7 @@ public:
//
virtual bool verify(const NativeConnectionInfoPtr&) = 0;
};
-ICE_DEFINE_PTR(CertificateVerifierPtr, CertificateVerifier);
+typedef IceUtil::Handle<CertificateVerifier> CertificateVerifierPtr;
//
// In order to read an encrypted file, such as one containing a
@@ -502,7 +505,7 @@ ICE_DEFINE_PTR(CertificateVerifierPtr, CertificateVerifier);
// IceSSL.DelayInit=1), configure the PasswordPrompt, then manually
// initialize the plug-in.
//
-class ICE_SSL_API PasswordPrompt : public Ice::EnableSharedFromThis<PasswordPrompt>
+class ICE_SSL_API PasswordPrompt : public IceUtil::Shared
{
public:
@@ -515,7 +518,9 @@ public:
//
virtual std::string getPassword() = 0;
};
-ICE_DEFINE_PTR(PasswordPromptPtr, PasswordPrompt);
+typedef IceUtil::Handle<PasswordPrompt> PasswordPromptPtr;
+#endif
+
class ICE_SSL_API Plugin : public Ice::Plugin
{
@@ -527,13 +532,21 @@ public:
// Establish the certificate verifier object. This should be done
// before any connections are established.
//
+#ifdef ICE_CPP11_MAPPING
+ virtual void setCertificateVerifier(std::function<bool(const std::shared_ptr<NativeConnectionInfo>&)>) = 0;
+#else
virtual void setCertificateVerifier(const CertificateVerifierPtr&) = 0;
+#endif
//
// Establish the password prompt object. This must be done before
// the plug-in is initialized.
//
+#ifdef ICE_CPP11_MAPPING
+ virtual void setPasswordPrompt(std::function<std::string()>) = 0;
+#else
virtual void setPasswordPrompt(const PasswordPromptPtr&) = 0;
+#endif
#ifdef ICE_USE_OPENSSL
//