summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Glacier/GlacierRouter.cpp2
-rw-r--r--cpp/src/Glacier/GlacierStarter.cpp2
-rw-r--r--cpp/src/Ice/DefaultsAndOverwrites.cpp53
-rw-r--r--cpp/src/Ice/DefaultsAndOverwrites.h39
-rw-r--r--cpp/src/Ice/DefaultsAndOverwritesF.h26
-rw-r--r--cpp/src/Ice/EndpointFactoryManager.cpp3
-rw-r--r--cpp/src/Ice/Instance.cpp30
-rw-r--r--cpp/src/Ice/Instance.h7
-rw-r--r--cpp/src/Ice/Makefile1
-rw-r--r--cpp/src/Ice/ProtocolPluginFacade.cpp3
-rw-r--r--cpp/src/Ice/TcpEndpoint.cpp3
-rw-r--r--cpp/src/Ice/TraceLevels.cpp4
-rw-r--r--cpp/src/Ice/TraceLevels.h1
-rw-r--r--cpp/src/Ice/UdpEndpoint.cpp3
-rw-r--r--cpp/src/Ice/ice.dsp12
15 files changed, 152 insertions, 37 deletions
diff --git a/cpp/src/Glacier/GlacierRouter.cpp b/cpp/src/Glacier/GlacierRouter.cpp
index 12e14962739..5e8e0c8e82b 100644
--- a/cpp/src/Glacier/GlacierRouter.cpp
+++ b/cpp/src/Glacier/GlacierRouter.cpp
@@ -310,7 +310,7 @@ main(int argc, char* argv[])
cerr << argv[0] << ": " << ex << endl;
return EXIT_FAILURE;
}
- defaultProperties->setProperty("Ice.DefaultRouter", "");
+ defaultProperties->setProperty("Ice.Default.Router", "");
Glacier::RouterApp app;
return app.main(argc, argv);
diff --git a/cpp/src/Glacier/GlacierStarter.cpp b/cpp/src/Glacier/GlacierStarter.cpp
index d6261946db3..693cac79140 100644
--- a/cpp/src/Glacier/GlacierStarter.cpp
+++ b/cpp/src/Glacier/GlacierStarter.cpp
@@ -197,7 +197,7 @@ main(int argc, char* argv[])
cerr << argv[0] << ": " << ex << endl;
return EXIT_FAILURE;
}
- defaultProperties->setProperty("Ice.DefaultRouter", "");
+ defaultProperties->setProperty("Ice.Default.Router", "");
Glacier::RouterApp app;
return app.main(argc, argv);
diff --git a/cpp/src/Ice/DefaultsAndOverwrites.cpp b/cpp/src/Ice/DefaultsAndOverwrites.cpp
new file mode 100644
index 00000000000..d757af2eb17
--- /dev/null
+++ b/cpp/src/Ice/DefaultsAndOverwrites.cpp
@@ -0,0 +1,53 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#include <Ice/DefaultsAndOverwrites.h>
+#include <Ice/Properties.h>
+#include <Ice/Network.h>
+
+using namespace std;
+using namespace Ice;
+using namespace IceInternal;
+
+void IceInternal::incRef(DefaultsAndOverwrites* p) { p->__incRef(); }
+void IceInternal::decRef(DefaultsAndOverwrites* p) { p->__decRef(); }
+
+IceInternal::DefaultsAndOverwrites::DefaultsAndOverwrites(const PropertiesPtr& properties) :
+ overwriteTimeout(false),
+ overwriteTimeoutValue(-1),
+ overwriteCompress(false),
+ overwriteCompressValue(false)
+{
+ const_cast<string&>(defaultProtocol) = properties->getPropertyWithDefault("Ice.Default.Protocol", "tcp");
+
+ const_cast<string&>(defaultHost) = properties->getProperty("Ice.Default.Host");
+ if (defaultHost.empty())
+ {
+ const_cast<string&>(defaultHost) = getLocalHost(true);
+ }
+
+ const_cast<string&>(defaultRouter) = properties->getProperty("Ice.Default.Router");
+
+ string value;
+
+ value = properties->getProperty("Ice.Overwrite.Timeout");
+ if (!value.empty())
+ {
+ const_cast<bool&>(overwriteTimeout) = true;
+ const_cast<Int&>(overwriteTimeoutValue) = atoi(value.c_str());
+ }
+
+ value = properties->getProperty("Ice.Overwrite.Compress");
+ if (!value.empty())
+ {
+ const_cast<bool&>(overwriteCompress) = true;
+ const_cast<bool&>(overwriteCompressValue) = atoi(value.c_str());
+ }
+}
diff --git a/cpp/src/Ice/DefaultsAndOverwrites.h b/cpp/src/Ice/DefaultsAndOverwrites.h
new file mode 100644
index 00000000000..99c5a0e297b
--- /dev/null
+++ b/cpp/src/Ice/DefaultsAndOverwrites.h
@@ -0,0 +1,39 @@
+// **********************************************************************
+//
+// Copyright (c) 2002
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#ifndef ICE_ICE_DEFAULTS_AND_OVERWRITES_F_H
+#define ICE_ICE_DEFAULTS_AND_OVERWRITES_F_H
+
+#include <IceUtil/Shared.h>
+#include <Ice/DefaultsAndOverwritesF.h>
+#include <Ice/PropertiesF.h>
+
+namespace IceInternal
+{
+
+class DefaultsAndOverwrites : public ::IceUtil::Shared
+{
+public:
+
+ DefaultsAndOverwrites(const ::Ice::PropertiesPtr&);
+
+ std::string defaultHost;
+ std::string defaultProtocol;
+ std::string defaultRouter;
+
+ bool overwriteTimeout;
+ Ice::Int overwriteTimeoutValue;
+ bool overwriteCompress;
+ bool overwriteCompressValue;
+};
+
+}
+
+#endif
diff --git a/cpp/src/Ice/DefaultsAndOverwritesF.h b/cpp/src/Ice/DefaultsAndOverwritesF.h
new file mode 100644
index 00000000000..9c3cf35a152
--- /dev/null
+++ b/cpp/src/Ice/DefaultsAndOverwritesF.h
@@ -0,0 +1,26 @@
+// **********************************************************************
+//
+// Copyright (c) 2002
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#ifndef ICE_DEFAULTS_AND_OVERWRITES_F_H
+#define ICE_DEFAULTS_AND_OVERWRITES_F_H
+
+#include <Ice/Handle.h>
+
+namespace IceInternal
+{
+
+class DefaultsAndOverwrites;
+void incRef(DefaultsAndOverwrites*);
+void decRef(DefaultsAndOverwrites*);
+typedef Handle<DefaultsAndOverwrites> DefaultsAndOverwritesPtr;
+
+}
+
+#endif
diff --git a/cpp/src/Ice/EndpointFactoryManager.cpp b/cpp/src/Ice/EndpointFactoryManager.cpp
index 164bf6f3560..67084de0056 100644
--- a/cpp/src/Ice/EndpointFactoryManager.cpp
+++ b/cpp/src/Ice/EndpointFactoryManager.cpp
@@ -14,6 +14,7 @@
#include <Ice/BasicStream.h>
#include <Ice/LocalException.h>
#include <Ice/Instance.h>
+#include <Ice/DefaultsAndOverwrites.h>
using namespace std;
using namespace Ice;
@@ -86,7 +87,7 @@ IceInternal::EndpointFactoryManager::create(const string& str) const
if (protocol == "default")
{
- protocol = _instance->defaultProtocol();
+ protocol = _instance->defaultsAndOverwrites()->defaultProtocol;
}
//
diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp
index a8c807fe403..4750b0b2999 100644
--- a/cpp/src/Ice/Instance.cpp
+++ b/cpp/src/Ice/Instance.cpp
@@ -10,6 +10,7 @@
#include <Ice/Instance.h>
#include <Ice/TraceLevels.h>
+#include <Ice/DefaultsAndOverwrites.h>
#include <Ice/RouterInfo.h>
#include <Ice/ReferenceFactory.h>
#include <Ice/ProxyFactory.h>
@@ -106,18 +107,11 @@ IceInternal::Instance::traceLevels()
return _traceLevels;
}
-string
-IceInternal::Instance::defaultProtocol()
+DefaultsAndOverwritesPtr
+IceInternal::Instance::defaultsAndOverwrites()
{
// No mutex lock, immutable.
- return _defaultProtocol;
-}
-
-string
-IceInternal::Instance::defaultHost()
-{
- // No mutex lock, immutable.
- return _defaultHost;
+ return _defaultsAndOverwrites;
}
RouterManagerPtr
@@ -310,12 +304,7 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, int& argc,
_traceLevels = new TraceLevels(_properties);
- _defaultProtocol = _properties->getPropertyWithDefault("Ice.DefaultProtocol", "tcp");
- _defaultHost = _properties->getProperty("Ice.DefaultHost");
- if (_defaultHost.empty())
- {
- _defaultHost = getLocalHost(true);
- }
+ _defaultsAndOverwrites = new DefaultsAndOverwrites(_properties);
_routerManager = new RouterManager;
@@ -323,9 +312,6 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, int& argc,
_proxyFactory = new ProxyFactory(this);
- //
- // Install TCP and UDP endpoint factories.
- //
_endpointFactoryManager = new EndpointFactoryManager(this);
EndpointFactoryPtr tcpEndpointFactory = new TcpEndpointFactory(this);
_endpointFactoryManager->add(tcpEndpointFactory);
@@ -334,10 +320,10 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, int& argc,
_pluginManager = new PluginManagerI(this);
- string router = _properties->getProperty("Ice.DefaultRouter");
- if (!router.empty())
+ if (!_defaultsAndOverwrites->defaultRouter.empty())
{
- _referenceFactory->setDefaultRouter(RouterPrx::uncheckedCast(_proxyFactory->stringToProxy(router)));
+ _referenceFactory->setDefaultRouter(
+ RouterPrx::uncheckedCast(_proxyFactory->stringToProxy(_defaultsAndOverwrites->defaultRouter)));
}
_outgoingConnectionFactory = new OutgoingConnectionFactory(this);
diff --git a/cpp/src/Ice/Instance.h b/cpp/src/Ice/Instance.h
index 5e1b105dd35..f6b37cc8e0b 100644
--- a/cpp/src/Ice/Instance.h
+++ b/cpp/src/Ice/Instance.h
@@ -19,6 +19,7 @@
#include <Ice/PropertiesF.h>
#include <Ice/LoggerF.h>
#include <Ice/TraceLevelsF.h>
+#include <Ice/DefaultsAndOverwritesF.h>
#include <Ice/RouterInfoF.h>
#include <Ice/ReferenceFactoryF.h>
#include <Ice/ProxyFactoryF.h>
@@ -50,6 +51,7 @@ public:
::Ice::LoggerPtr logger();
void logger(const ::Ice::LoggerPtr&);
TraceLevelsPtr traceLevels();
+ DefaultsAndOverwritesPtr defaultsAndOverwrites();
RouterManagerPtr routerManager();
ReferenceFactoryPtr referenceFactory();
ProxyFactoryPtr proxyFactory();
@@ -59,8 +61,6 @@ public:
ObjectAdapterFactoryPtr objectAdapterFactory();
ThreadPoolPtr clientThreadPool();
ThreadPoolPtr serverThreadPool();
- std::string defaultProtocol();
- std::string defaultHost();
EndpointFactoryManagerPtr endpointFactoryManager();
::Ice::PluginManagerPtr pluginManager();
@@ -76,6 +76,7 @@ private:
::Ice::PropertiesPtr _properties; // Immutable, not reset by destroy().
::Ice::LoggerPtr _logger; // Not reset by destroy().
TraceLevelsPtr _traceLevels; // Immutable, not reset by destroy().
+ DefaultsAndOverwritesPtr _defaultsAndOverwrites; // Immutable, not reset by destroy().
RouterManagerPtr _routerManager;
ReferenceFactoryPtr _referenceFactory;
ProxyFactoryPtr _proxyFactory;
@@ -85,8 +86,6 @@ private:
ObjectAdapterFactoryPtr _objectAdapterFactory;
ThreadPoolPtr _clientThreadPool;
ThreadPoolPtr _serverThreadPool;
- std::string _defaultProtocol; // Immutable, not reset by destroy().
- std::string _defaultHost; // Immutable, not reset by destroy().
EndpointFactoryManagerPtr _endpointFactoryManager;
::Ice::PluginManagerPtr _pluginManager;
diff --git a/cpp/src/Ice/Makefile b/cpp/src/Ice/Makefile
index c4883d217a1..0d83e41a672 100644
--- a/cpp/src/Ice/Makefile
+++ b/cpp/src/Ice/Makefile
@@ -31,6 +31,7 @@ OBJS = Initialize.o \
Stream.o \
BuiltinSequences.o \
BasicStream.o \
+ DefaultsAndOverwrites.o \
TraceLevels.o \
TraceUtil.o \
Instance.o \
diff --git a/cpp/src/Ice/ProtocolPluginFacade.cpp b/cpp/src/Ice/ProtocolPluginFacade.cpp
index 74dddf7b955..857a8b80900 100644
--- a/cpp/src/Ice/ProtocolPluginFacade.cpp
+++ b/cpp/src/Ice/ProtocolPluginFacade.cpp
@@ -13,6 +13,7 @@
#include <Ice/EndpointFactoryManager.h>
#include <Ice/TraceLevels.h>
#include <Ice/Initialize.h>
+#include <Ice/DefaultsAndOverwrites.h>
using namespace std;
using namespace Ice;
@@ -41,7 +42,7 @@ IceInternal::ProtocolPluginFacade::getCommunicator() const
string
IceInternal::ProtocolPluginFacade::getDefaultHost() const
{
- return _instance->defaultHost();
+ return _instance->defaultsAndOverwrites()->defaultHost;
}
int
diff --git a/cpp/src/Ice/TcpEndpoint.cpp b/cpp/src/Ice/TcpEndpoint.cpp
index 237fec807b8..55a9459e071 100644
--- a/cpp/src/Ice/TcpEndpoint.cpp
+++ b/cpp/src/Ice/TcpEndpoint.cpp
@@ -16,6 +16,7 @@
#include <Ice/BasicStream.h>
#include <Ice/LocalException.h>
#include <Ice/Instance.h>
+#include <Ice/DefaultsAndOverwrites.h>
using namespace std;
using namespace Ice;
@@ -113,7 +114,7 @@ IceInternal::TcpEndpoint::TcpEndpoint(const InstancePtr& instance, const string&
if (_host.empty())
{
- const_cast<string&>(_host) = _instance->defaultHost();
+ const_cast<string&>(_host) = _instance->defaultsAndOverwrites()->defaultHost;
}
}
diff --git a/cpp/src/Ice/TraceLevels.cpp b/cpp/src/Ice/TraceLevels.cpp
index 724319a0d12..3829a494f65 100644
--- a/cpp/src/Ice/TraceLevels.cpp
+++ b/cpp/src/Ice/TraceLevels.cpp
@@ -31,7 +31,3 @@ IceInternal::TraceLevels::TraceLevels(const PropertiesPtr& properties) :
const_cast<int&>(protocol) = properties->getPropertyAsInt(keyBase + protocolCat);
const_cast<int&>(retry) = properties->getPropertyAsInt(keyBase + retryCat);
}
-
-IceInternal::TraceLevels::~TraceLevels()
-{
-}
diff --git a/cpp/src/Ice/TraceLevels.h b/cpp/src/Ice/TraceLevels.h
index 3feeac3f291..ea2cec28fb9 100644
--- a/cpp/src/Ice/TraceLevels.h
+++ b/cpp/src/Ice/TraceLevels.h
@@ -23,7 +23,6 @@ class TraceLevels : public ::IceUtil::Shared
public:
TraceLevels(const ::Ice::PropertiesPtr&);
- virtual ~TraceLevels();
const int network;
const char* networkCat;
diff --git a/cpp/src/Ice/UdpEndpoint.cpp b/cpp/src/Ice/UdpEndpoint.cpp
index ad60651d8c8..66f8a8b89d9 100644
--- a/cpp/src/Ice/UdpEndpoint.cpp
+++ b/cpp/src/Ice/UdpEndpoint.cpp
@@ -14,6 +14,7 @@
#include <Ice/BasicStream.h>
#include <Ice/LocalException.h>
#include <Ice/Instance.h>
+#include <Ice/DefaultsAndOverwrites.h>
using namespace std;
using namespace Ice;
@@ -111,7 +112,7 @@ IceInternal::UdpEndpoint::UdpEndpoint(const InstancePtr& instance, const string&
if (_host.empty())
{
- const_cast<string&>(_host) = _instance->defaultHost();
+ const_cast<string&>(_host) = _instance->defaultsAndOverwrites()->defaultHost;
}
}
diff --git a/cpp/src/Ice/ice.dsp b/cpp/src/Ice/ice.dsp
index 7cc574d2d51..5c58ac3ed84 100644
--- a/cpp/src/Ice/ice.dsp
+++ b/cpp/src/Ice/ice.dsp
@@ -320,6 +320,10 @@ SOURCE=.\TraceLevels.cpp
# End Source File
# Begin Source File
+SOURCE=.\DefaultsAndOverwrites.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\TraceUtil.cpp
# End Source File
# Begin Source File
@@ -736,6 +740,14 @@ SOURCE=.\TraceLevelsF.h
# End Source File
# Begin Source File
+SOURCE=.\DefaultsAndOverwrites.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\DefaultsAndOverwritesF.h
+# End Source File
+# Begin Source File
+
SOURCE=.\TraceUtil.h
# End Source File
# Begin Source File