diff options
author | Mark Spruiell <mes@zeroc.com> | 2014-03-19 12:45:55 -0700 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2014-03-19 12:45:55 -0700 |
commit | cdcffbcc3c3c052afdeb772ff0167e7a90b525bb (patch) | |
tree | 4f16ee41ef7d33394c44e9db81e4d6cd89908250 /js/src/Ice/AsyncResultBase.js | |
parent | fixing testicedist.py for 5487 (diff) | |
download | ice-cdcffbcc3c3c052afdeb772ff0167e7a90b525bb.tar.bz2 ice-cdcffbcc3c3c052afdeb772ff0167e7a90b525bb.tar.xz ice-cdcffbcc3c3c052afdeb772ff0167e7a90b525bb.zip |
merging javascript branch
Diffstat (limited to 'js/src/Ice/AsyncResultBase.js')
-rw-r--r-- | js/src/Ice/AsyncResultBase.js | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/js/src/Ice/AsyncResultBase.js b/js/src/Ice/AsyncResultBase.js new file mode 100644 index 00000000000..348c715082e --- /dev/null +++ b/js/src/Ice/AsyncResultBase.js @@ -0,0 +1,70 @@ +// ********************************************************************** +// +// 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/Class"); + require("Ice/Debug"); + require("Ice/Promise"); + require("Ice/Exception"); + + var Ice = global.Ice || {}; + + var Promise = Ice.Promise; + + var AsyncResultBase = Ice.Class(Promise, { + __init__: function(communicator, op, connection, proxy, adapter) + { + // + // AsyncResultBase can be constructed by a sub-type's prototype, in which case the + // arguments are undefined. + // + Promise.call(this); + if(communicator !== undefined) + { + this._communicator = communicator; + this._instance = communicator !== null ? communicator.instance : null; + this._operation = op; + this._connection = connection; + this._proxy = proxy; + this._adapter = adapter; + } + }, + __exception: function(ex) + { + this.fail(ex); + } + }); + + var prototype = AsyncResultBase.prototype; + var defineProperty = Object.defineProperty; + + defineProperty(prototype, "communicator", { + get: function() { return this._communicator; } + }); + + defineProperty(prototype, "connection", { + get: function() { return this._connection; } + }); + + defineProperty(prototype, "proxy", { + get: function() { return this._proxy; } + }); + + defineProperty(prototype, "adapter", { + get: function() { return this._adapter; } + }); + + defineProperty(prototype, "operation", { + get: function() { return this._operation; } + }); + + Ice.AsyncResultBase = AsyncResultBase; + + global.Ice = Ice; +}(typeof (global) === "undefined" ? window : global)); |