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.h44
1 files changed, 26 insertions, 18 deletions
diff --git a/cpp/include/IceSSL/Plugin.h b/cpp/include/IceSSL/Plugin.h
index 3de175452b1..d6652f52327 100644
--- a/cpp/include/IceSSL/Plugin.h
+++ b/cpp/include/IceSSL/Plugin.h
@@ -12,6 +12,7 @@
#include <IceUtil/Time.h>
#include <Ice/Plugin.h>
+#include <Ice/VirtualShared.h>
#include <IceSSL/Config.h>
#include <IceSSL/ConnectionInfo.h>
@@ -105,9 +106,11 @@ class ICE_SSL_API CertificateReadException : public IceUtil::Exception
public:
CertificateReadException(const char*, int, const std::string&);
- virtual ~CertificateReadException() throw();
- virtual std::string ice_name() const;
+ virtual ~CertificateReadException() ICE_NOEXCEPT;
+ virtual std::string ice_id() const;
+#ifndef ICE_CPP11_MAPPING
virtual CertificateReadException* ice_clone() const;
+#endif
virtual void ice_throw() const;
std::string reason;
@@ -128,9 +131,11 @@ public:
#ifdef ICE_USE_SECURE_TRANSPORT
CertificateEncodingException(const char*, int, CFErrorRef);
#endif
- virtual ~CertificateEncodingException() throw();
- virtual std::string ice_name() const;
+ virtual ~CertificateEncodingException() ICE_NOEXCEPT;
+ virtual std::string ice_id() const;
+#ifndef ICE_CPP11_MAPPING
virtual CertificateEncodingException* ice_clone() const;
+#endif
virtual void ice_throw() const;
std::string reason;
@@ -148,9 +153,11 @@ class ICE_SSL_API ParseException : public IceUtil::Exception
public:
ParseException(const char*, int, const std::string&);
- virtual ~ParseException() throw();
- virtual std::string ice_name() const;
+ virtual ~ParseException() ICE_NOEXCEPT;
+ virtual std::string ice_id() const;
+#ifndef ICE_CPP11_MAPPING
virtual ParseException* ice_clone() const;
+#endif
virtual void ice_throw() const;
std::string reason;
@@ -164,15 +171,17 @@ private:
// Forward declaration.
//
class Certificate;
-typedef IceUtil::Handle<Certificate> CertificatePtr;
+ICE_DEFINE_PTR(CertificatePtr, Certificate);
//
// A representation of a PublicKey.
//
-class ICE_SSL_API PublicKey : public IceUtil::Shared
+class ICE_SSL_API PublicKey : public Ice::EnableSharedFromThis<PublicKey>
{
public:
+ PublicKey(const CertificatePtr&, KeyRef);
+
~PublicKey();
//
@@ -186,14 +195,13 @@ public:
private:
- PublicKey(const CertificatePtr&, KeyRef);
friend class Certificate;
CertificatePtr _cert;
KeyRef _key;
};
-typedef IceUtil::Handle<PublicKey> PublicKeyPtr;
+ICE_DEFINE_PTR(PublicKeyPtr, PublicKey);
//
// This class represents a DistinguishedName, similar to the Java
@@ -266,7 +274,7 @@ private:
// This convenience class is a wrapper around a native certificate.
// The interface is inspired by java.security.cert.X509Certificate.
//
-class ICE_SSL_API Certificate : public IceUtil::Shared
+class ICE_SSL_API Certificate : public Ice::EnableSharedFromThis<Certificate>
{
public:
@@ -456,7 +464,7 @@ public:
//
std::vector<CertificatePtr> nativeCerts;
};
-typedef IceUtil::Handle<NativeConnectionInfo> NativeConnectionInfoPtr;
+ICE_DEFINE_PTR(NativeConnectionInfoPtr, NativeConnectionInfo);
//
// WSSNativeConnectionInfo is an extension of IceSSL::WSSConnectionInfo
@@ -473,13 +481,13 @@ public:
//
std::vector<CertificatePtr> nativeCerts;
};
-typedef IceUtil::Handle<WSSNativeConnectionInfo> WSSNativeConnectionInfoPtr;
+ICE_DEFINE_PTR(WSSNativeConnectionInfoPtr, WSSNativeConnectionInfo);
//
// An application can customize the certificate verification process
// by implementing the CertificateVerifier interface.
//
-class ICE_SSL_API CertificateVerifier : public IceUtil::Shared
+class ICE_SSL_API CertificateVerifier : public Ice::EnableSharedFromThis<CertificateVerifier>
{
public:
@@ -489,7 +497,7 @@ public:
//
virtual bool verify(const NativeConnectionInfoPtr&) = 0;
};
-typedef IceUtil::Handle<CertificateVerifier> CertificateVerifierPtr;
+ICE_DEFINE_PTR(CertificateVerifierPtr, CertificateVerifier);
//
// In order to read an encrypted file, such as one containing a
@@ -506,7 +514,7 @@ typedef IceUtil::Handle<CertificateVerifier> CertificateVerifierPtr;
// IceSSL.DelayInit=1), configure the PasswordPrompt, then manually
// initialize the plug-in.
//
-class ICE_SSL_API PasswordPrompt : public IceUtil::Shared
+class ICE_SSL_API PasswordPrompt : public Ice::EnableSharedFromThis<PasswordPrompt>
{
public:
@@ -517,7 +525,7 @@ public:
//
virtual std::string getPassword() = 0;
};
-typedef IceUtil::Handle<PasswordPrompt> PasswordPromptPtr;
+ICE_DEFINE_PTR(PasswordPromptPtr, PasswordPrompt);
class ICE_SSL_API Plugin : public Ice::Plugin
{
@@ -557,7 +565,7 @@ public:
virtual SSL_CTX* getContext() = 0;
#endif
};
-typedef IceUtil::Handle<Plugin> PluginPtr;
+ICE_DEFINE_PTR(PluginPtr, Plugin);
}