summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/StringConverterPlugin.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2014-08-29 11:24:49 -0400
committerBernard Normier <bernard@zeroc.com>2014-08-29 11:24:49 -0400
commit33702f21d02bd543f365e4db6e118ba5257c109b (patch)
tree5ee69df98dcb14ba47d60e727c59f6f1018692a5 /cpp/src/Ice/StringConverterPlugin.cpp
parentMinor fix for JS OutgoingConnectionFactory (diff)
downloadice-33702f21d02bd543f365e4db6e118ba5257c109b.tar.bz2
ice-33702f21d02bd543f365e4db6e118ba5257c109b.tar.xz
ice-33702f21d02bd543f365e4db6e118ba5257c109b.zip
New fix for ICE-5637: Glacier2CryptPermissionsVerifier plugin + Glacier2Internal::setupNullPermissionsVerifier function
Diffstat (limited to 'cpp/src/Ice/StringConverterPlugin.cpp')
-rw-r--r--cpp/src/Ice/StringConverterPlugin.cpp59
1 files changed, 32 insertions, 27 deletions
diff --git a/cpp/src/Ice/StringConverterPlugin.cpp b/cpp/src/Ice/StringConverterPlugin.cpp
index 4f5696153ee..de58b679e33 100644
--- a/cpp/src/Ice/StringConverterPlugin.cpp
+++ b/cpp/src/Ice/StringConverterPlugin.cpp
@@ -7,50 +7,57 @@
//
// **********************************************************************
-#include <Ice/StringConverterPlugin.h>
+#include <Ice/Config.h>
+
#include <IceUtil/IceUtil.h>
#include <IceUtil/StringUtil.h>
+#include <Ice/Plugin.h>
#include <Ice/Initialize.h>
#include <Ice/Instance.h>
#include <Ice/LocalException.h>
#include <Ice/LoggerUtil.h>
#include <Ice/Communicator.h>
-#ifndef _WIN32
-# include <IceUtil/IconvStringConverter.h>
-#endif
-
using namespace IceUtil;
using namespace IceUtilInternal;
+using namespace Ice;
using namespace std;
-Ice::StringConverterPlugin::StringConverterPlugin(const CommunicatorPtr& communicator,
- const StringConverterPtr& stringConverter,
- const WstringConverterPtr& wstringConverter)
+namespace
+{
+
+class StringConverterPlugin : public Ice::Plugin
{
- if(communicator == 0)
+public:
+
+ StringConverterPlugin(const CommunicatorPtr& communicator,
+ const StringConverterPtr& stringConverter,
+ const WstringConverterPtr& wstringConverter)
{
- throw PluginInitializationException(__FILE__, __LINE__, "Communicator cannot be null");
+ if(communicator == 0)
+ {
+ throw PluginInitializationException(__FILE__, __LINE__, "Communicator cannot be null");
+ }
+
+ IceInternal::InstancePtr instance = IceInternal::getInstance(communicator);
+
+ IceUtil::setProcessStringConverter(stringConverter);
+ instance->setStringConverter(stringConverter);
+ IceUtil::setProcessWstringConverter(wstringConverter);
+ instance->setWstringConverter(wstringConverter);
}
-
- IceInternal::InstancePtr instance = IceInternal::getInstance(communicator);
- IceUtil::setProcessStringConverter(stringConverter);
- instance->setStringConverter(stringConverter);
- IceUtil::setProcessWstringConverter(wstringConverter);
- instance->setWstringConverter(wstringConverter);
-}
+ virtual void initialize()
+ {
+ }
-void
-Ice::StringConverterPlugin::initialize()
-{
-}
+ virtual void destroy()
+ {
+ }
+};
-void
-Ice::StringConverterPlugin::destroy()
-{
}
//
@@ -59,9 +66,7 @@ Ice::StringConverterPlugin::destroy()
extern "C"
{
-using namespace Ice;
-
-ICE_DECLSPEC_EXPORT Plugin*
+ICE_API Plugin*
createStringConverter(const CommunicatorPtr& communicator, const string& name, const StringSeq& args)
{
StringConverterPtr stringConverter;