diff options
author | Bernard Normier <bernard@zeroc.com> | 2017-03-28 17:09:13 -0400 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2017-03-28 17:09:13 -0400 |
commit | 1aecc966db0271576d8fe0584cd4566fb6a5c910 (patch) | |
tree | 07d83497f28b21bc2d7ad4584f00fca53be60648 | |
parent | Expect.py script fixes (diff) | |
download | ice-1aecc966db0271576d8fe0584cd4566fb6a5c910.tar.bz2 ice-1aecc966db0271576d8fe0584cd4566fb6a5c910.tar.xz ice-1aecc966db0271576d8fe0584cd4566fb6a5c910.zip |
New initialize overloads that take a configFile instead of initData
-rw-r--r-- | cpp/src/Ice/Application.cpp | 12 | ||||
-rw-r--r-- | java-compat/src/Ice/src/main/java/Ice/Util.java | 70 | ||||
-rw-r--r-- | java/src/Ice/src/main/java/com/zeroc/Ice/Util.java | 59 | ||||
-rw-r--r-- | objective-c/include/objc/Ice/Initialize.h | 5 | ||||
-rw-r--r-- | objective-c/src/Ice/Initialize.mm | 9 |
5 files changed, 134 insertions, 21 deletions
diff --git a/cpp/src/Ice/Application.cpp b/cpp/src/Ice/Application.cpp index 0d817c55ada..c689b453fbb 100644 --- a/cpp/src/Ice/Application.cpp +++ b/cpp/src/Ice/Application.cpp @@ -416,17 +416,7 @@ Ice::Application::doMain(int argc, char* argv[], const InitializationData& initD setProcessLogger(ICE_MAKE_SHARED(LoggerI, initData.properties->getProperty("Ice.ProgramName"), "", convert)); } - if(argc >= 0) - { - _communicator = initialize(argc, argv, initData, version); - } - else - { - // - // argc < 0 means use arg-less version of initialize - // - _communicator = initialize(initData, version); - } + _communicator = initialize(argc, argv, initData, version); _destroyed = false; // diff --git a/java-compat/src/Ice/src/main/java/Ice/Util.java b/java-compat/src/Ice/src/main/java/Ice/Util.java index 891f2fce97d..1ec8e1af1cb 100644 --- a/java-compat/src/Ice/src/main/java/Ice/Util.java +++ b/java-compat/src/Ice/src/main/java/Ice/Util.java @@ -117,7 +117,7 @@ public final class Util public static Communicator initialize(StringSeqHolder args) { - return initialize(args, null); + return initialize(args, (InitializationData)null); } /** @@ -167,6 +167,32 @@ public final class Util return result; } + /** + * Creates a communicator. + * + * @param args A command-line argument vector. Any Ice-related options + * in this vector are used to intialize the communicator. + * This method modifies the argument vector by removing any Ice-related options. + * + * @param configFile Path to a config file that sets the new Communicator's default + * properties. + * + * @return The initialized communicator. + **/ + public static Communicator + initialize(StringSeqHolder args, String configFile) + { + InitializationData initData = null; + if(configFile != null) + { + initData = new InitializationData(); + initData.properties = Util.createProperties(); + initData.properties.load(configFile); + } + + return initialize(args, initData); + } + /** * Creates a communicator. * @@ -190,6 +216,26 @@ public final class Util /** * Creates a communicator. * + * @param args A command-line argument vector. Any Ice-related options + * in this vector are used to intialize the communicator. + * + * @param configFile Path to a config file that sets the new Communicator's default + * properties. + * + * @return The initialized communicator. + * + * @see InitializationData + **/ + public static Communicator + initialize(String[] args, String configFile) + { + StringSeqHolder argsH = new StringSeqHolder(args); + return initialize(argsH, configFile); + } + + /** + * Creates a communicator. + * * @param initData Additional intialization data. * * @return The initialized communicator. @@ -213,6 +259,28 @@ public final class Util return result; } + /** + * Creates a communicator. + * + * @param configFile Path to a config file that sets the new Communicator's default + * properties. + * + * @return The initialized communicator. + **/ + public static Communicator + initialize(String configFile) + { + InitializationData initData = null; + if(configFile != null) + { + initData = new InitializationData(); + initData.properties = Util.createProperties(); + initData.properties.load(configFile); + } + + return initialize(initData); + } + /** * Creates a communicator using a default configuration. * diff --git a/java/src/Ice/src/main/java/com/zeroc/Ice/Util.java b/java/src/Ice/src/main/java/com/zeroc/Ice/Util.java index 5b66f212ffb..73c087c7faf 100644 --- a/java/src/Ice/src/main/java/com/zeroc/Ice/Util.java +++ b/java/src/Ice/src/main/java/com/zeroc/Ice/Util.java @@ -128,11 +128,11 @@ public final class Util * @param args A command-line argument vector. Any Ice-related options * in this vector are used to initialize the communicator. * - * @return The new communicator and a filtered argument vector. + * @return The new communicator. **/ public static Communicator initialize(String[] args) { - return initialize(args, null, null); + return initialize(args, (InitializationData)null, null); } /** @@ -144,11 +144,11 @@ public final class Util * @param remainingArgs If non null, the given list will contain on * return the command-line arguments that were not used to set properties. * - * @return The new communicator and a filtered argument vector. + * @return The new communicator. **/ public static Communicator initialize(String[] args, java.util.List<String> remainingArgs) { - return initialize(args, null, remainingArgs); + return initialize(args, (InitializationData)null, remainingArgs); } /** @@ -156,7 +156,7 @@ public final class Util * * @param initData Additional initialization data. * - * @return The new communicator and a filtered argument vector. + * @return The new communicator. **/ public static Communicator initialize(InitializationData initData) { @@ -171,7 +171,7 @@ public final class Util * * @param initData Additional initialization data. * - * @return The new communicator and a filtered argument vector. + * @return The new communicator. **/ public static Communicator initialize(String[] args, InitializationData initData) { @@ -184,13 +184,29 @@ public final class Util * @param args A command-line argument vector. Any Ice-related options * in this vector are used to initialize the communicator. * + * @param configFile Path to a config file that sets the new Communicator's default + * properties. + * + * @return The new communicator. + **/ + public static Communicator initialize(String[] args, String configFile) + { + return initialize(args, configFile, null); + } + + /** + * Creates a communicator. + * + * @param args A command-line argument vector. Any Ice-related options + * in this vector are used to initialize the communicator. + * * @param initData Additional initialization data. Property settings in <code>args</code> * override property settings in <code>initData</code>. * * @param remainingArgs If non null, the given list will contain on * return the command-line arguments that were not used to set properties. * - * @return The new communicator and a filtered argument vector. + * @return The new communicator. * * @see InitializationData **/ @@ -220,6 +236,35 @@ public final class Util } /** + * Creates a communicator. + * + * @param args A command-line argument vector. Any Ice-related options + * in this vector are used to initialize the communicator. + * + * @param configFile Path to a config file that sets the new Communicator's default + * properties. + * + * @param remainingArgs If non null, the given list will contain on + * return the command-line arguments that were not used to set properties. + * + * @return The new communicator. + **/ + public static Communicator initialize(String[] args, + String configFile, + java.util.List<String> remainingArgs) + { + InitializationData initData = null; + if(configFile != null) + { + initData = new InitializationData(); + initData.properties = Util.createProperties(); + initData.properties.load(configFile); + } + + return initialize(args, initData, remainingArgs); + } + + /** * Converts a string to an object identity. * * @param s The string to convert. diff --git a/objective-c/include/objc/Ice/Initialize.h b/objective-c/include/objc/Ice/Initialize.h index 53cc7006e2c..fb34c1f2ddb 100644 --- a/objective-c/include/objc/Ice/Initialize.h +++ b/objective-c/include/objc/Ice/Initialize.h @@ -66,9 +66,10 @@ ICE_API @interface ICEUtil : NSObject +(id<ICEProperties>) createProperties; +(id<ICEProperties>) createProperties:(int*)argc argv:(char*[])argv; +(id<ICECommunicator>) createCommunicator; -+(id<ICECommunicator>) createCommunicator:(ICEInitializationData *)initData; ++(id<ICECommunicator>) createCommunicator:(ICEInitializationData*)initData; +(id<ICECommunicator>) createCommunicator:(int*)argc argv:(char*[])argv; -+(id<ICECommunicator>) createCommunicator:(int*)argc argv:(char*[])argv initData:(ICEInitializationData *)initData; ++(id<ICECommunicator>) createCommunicator:(int*)argc argv:(char*[])argv initData:(ICEInitializationData*)initData; ++(id<ICECommunicator>) createCommunicator:(int*)argc argv:(char*[])argv configFile:(NSString*)configFile; +(id<ICEInputStream>) createInputStream:(id<ICECommunicator>)communicator data:(NSData*)data; +(id<ICEInputStream>) createInputStream:(id<ICECommunicator>)c data:(NSData*)data encoding:(ICEEncodingVersion*)e; +(id<ICEOutputStream>) createOutputStream:(id<ICECommunicator>)communicator; diff --git a/objective-c/src/Ice/Initialize.mm b/objective-c/src/Ice/Initialize.mm index a7ce4ab2b60..3813a2b8b9d 100644 --- a/objective-c/src/Ice/Initialize.mm +++ b/objective-c/src/Ice/Initialize.mm @@ -417,6 +417,15 @@ private: return nil; // Keep the compiler happy. } ++(id<ICECommunicator>) createCommunicator:(int*)argc argv:(char*[])argv configFile:(NSString*)configFile +{ + ICEInitializationData* initData = [ICEInitializationData initializationData]; + initData.properties = [ICEUtil createProperties]; + [initData.properties load:configFile]; + + return [self createCommunicator:argc argv:argv initData:initData]; +} + +(id<ICEInputStream>) createInputStream:(id<ICECommunicator>)c data:(NSData*)data { NSException* nsex = nil; |