diff options
Diffstat (limited to 'cpp/src/IceSSL/Instance.h')
-rw-r--r-- | cpp/src/IceSSL/Instance.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/cpp/src/IceSSL/Instance.h b/cpp/src/IceSSL/Instance.h new file mode 100644 index 00000000000..03b99a3b1e9 --- /dev/null +++ b/cpp/src/IceSSL/Instance.h @@ -0,0 +1,62 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#ifndef ICE_SSL_INSTANCE_H +#define ICE_SSL_INSTANCE_H + +#include <InstanceF.h> +#include <Context.h> +#include <Ice/CommunicatorF.h> +#include <Ice/ProtocolPluginFacadeF.h> +#include <IceSSL/Plugin.h> + +namespace IceSSL +{ + +class Instance : public IceUtil::Shared +{ +public: + + Instance(const Ice::CommunicatorPtr&); + + void initialize(SSL_CTX*, SSL_CTX*); + void setCertificateVerifier(const CertificateVerifierPtr&); + void setPasswordPrompt(const PasswordPromptPtr&); + + Ice::CommunicatorPtr communicator() const; + std::string defaultHost() const; + int networkTraceLevel() const; + std::string networkTraceCategory() const; + int securityTraceLevel() const; + std::string securityTraceCategory() const; + + ClientContextPtr clientContext() const; + ServerContextPtr serverContext() const; + + CertificateVerifierPtr certificateVerifier() const; + PasswordPromptPtr passwordPrompt() const; + + std::string sslErrors() const; + + void destroy(); + +private: + + IceInternal::ProtocolPluginFacadePtr _facade; + int _securityTraceLevel; + std::string _securityTraceCategory; + ClientContextPtr _clientContext; + ServerContextPtr _serverContext; + CertificateVerifierPtr _verifier; + PasswordPromptPtr _prompt; +}; + +} + +#endif |