summaryrefslogtreecommitdiff
path: root/js/src/Ice/Initialize.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/Ice/Initialize.js')
-rw-r--r--js/src/Ice/Initialize.js104
1 files changed, 104 insertions, 0 deletions
diff --git a/js/src/Ice/Initialize.js b/js/src/Ice/Initialize.js
new file mode 100644
index 00000000000..e1dd0c4a2b1
--- /dev/null
+++ b/js/src/Ice/Initialize.js
@@ -0,0 +1,104 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2014 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.
+//
+// **********************************************************************
+
+(function(global){
+ require("Ice/Protocol");
+ require("Ice/LocalException");
+ require("Ice/Communicator");
+ require("Ice/Properties");
+
+ var Ice = global.Ice || {};
+ var Protocol = Ice.Protocol;
+
+ //
+ // Ice.InitializationData
+ //
+ Ice.InitializationData = function()
+ {
+ this.properties = null;
+ this.logger = null;
+ };
+
+ Ice.InitializationData.prototype.clone = function()
+ {
+ var r = new Ice.InitializationData();
+ r.properties = this.properties;
+ r.logger = this.logger;
+ return r;
+ };
+
+ //
+ // Ice.initialize()
+ //
+ Ice.initialize = function(arg1, arg2)
+ {
+ var args = null;
+ var initData = null;
+
+ if(arg1 instanceof Array)
+ {
+ args = arg1;
+ }
+ else if(arg1 instanceof Ice.InitializationData)
+ {
+ initData = arg1;
+ }
+ else if(arg1 !== undefined && arg1 !== null)
+ {
+ throw new Ice.InitializationException("invalid argument to initialize");
+ }
+
+ if(arg2 !== undefined && arg2 !== null)
+ {
+ if(arg2 instanceof Ice.InitializationData && initData === null)
+ {
+ initData = arg2;
+ }
+ else
+ {
+ throw new Ice.InitializationException("invalid argument to initialize");
+ }
+
+ }
+
+ if(initData === null)
+ {
+ initData = new Ice.InitializationData();
+ }
+ else
+ {
+ initData = initData.clone();
+ }
+ initData.properties = Ice.createProperties(args, initData.properties);
+
+ var result = new Ice.Communicator(initData);
+ result.finishSetup(null);
+ return result;
+ };
+
+ //
+ // Ice.createProperties()
+ //
+ Ice.createProperties = function(args, defaults)
+ {
+ return new Ice.Properties(args, defaults);
+ };
+
+ Ice.currentProtocol = function()
+ {
+ return Protocol.currentProtocol.clone();
+ };
+
+ Ice.currentEncoding = function()
+ {
+ return Protocol.currentEncoding.clone();
+ };
+
+ global.Ice = Ice;
+}(typeof (global) === "undefined" ? window : global));