diff options
Diffstat (limited to 'cpp/include/IceSSL/Plugin.h')
-rw-r--r-- | cpp/include/IceSSL/Plugin.h | 44 |
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); } |