diff options
author | Benoit Foucher <benoit@zeroc.com> | 2002-07-30 16:09:17 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2002-07-30 16:09:17 +0000 |
commit | e942347d6a59581a9c5cf8ca5b4421517fcd71c4 (patch) | |
tree | 528975ad776600ff013431292fdf603a1d8b936d /cpp/src/IceBox/Admin.cpp | |
parent | Removed IceBox.ServiceManager property (diff) | |
download | ice-e942347d6a59581a9c5cf8ca5b4421517fcd71c4.tar.bz2 ice-e942347d6a59581a9c5cf8ca5b4421517fcd71c4.tar.xz ice-e942347d6a59581a9c5cf8ca5b4421517fcd71c4.zip |
Removed IceBox.ServiceManager property.
Diffstat (limited to 'cpp/src/IceBox/Admin.cpp')
-rw-r--r-- | cpp/src/IceBox/Admin.cpp | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/cpp/src/IceBox/Admin.cpp b/cpp/src/IceBox/Admin.cpp index ba7420c9511..07d05a0899c 100644 --- a/cpp/src/IceBox/Admin.cpp +++ b/cpp/src/IceBox/Admin.cpp @@ -88,22 +88,40 @@ Client::run(int argc, char* argv[]) return EXIT_SUCCESS; } - const char* managerProperty = "IceBox.ServiceManager"; - string managerProxy = properties->getProperty(managerProperty); - if(managerProxy.empty()) + + // + // TODO: Simplify configuration, this is way too complicated. We + // should most likely have only two configuration variables, one + // for the identity and the other one for the endpoints. + // + + string namePrefix = properties->getProperty("IceBox.Name"); + if(!namePrefix.empty()) { - const char* nameProperty = "IceBox.Name"; - string name = properties->getProperty(nameProperty); - if(!properties->getProperty("Ice.Default.Locator").empty() && !name.empty()) + namePrefix += "."; + } + + string managerProxy; + + string managerEndpoints = properties->getProperty("IceBox.ServiceManager.Endpoints"); + if(managerEndpoints.empty()) + { + if(!properties->getProperty("Ice.Default.Locator").empty() && !namePrefix.empty()) { - managerProxy = name + ".ServiceManager@" + name + ".ServiceManagerAdapter"; + managerProxy = namePrefix + "ServiceManager@" + namePrefix + "ServiceManagerAdapter"; } else { - cerr << appName() << ": property `" << managerProperty << "' is not set" << endl; + cerr << appName() << ": property `IceBox.ServiceManager.Endpoints' is not set" << endl; return EXIT_FAILURE; } } + else + { + string managerIdentity = properties->getPropertyWithDefault("IceBox.ServiceManager.Identity", + "ServiceManager"); + managerProxy = namePrefix + managerIdentity + ":" + managerEndpoints; + } ObjectPrx base = communicator()->stringToProxy(managerProxy); IceBox::ServiceManagerPrx manager = IceBox::ServiceManagerPrx::checkedCast(base); |