summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/NodeI.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-08-30 14:43:15 +0200
committerBenoit Foucher <benoit@zeroc.com>2012-08-30 14:43:15 +0200
commitaab12cf1719b425b5a2c571b8938d47cdd71d151 (patch)
tree876561b05764721306eb8629883e7b0b9cbbc99a /cpp/src/IceGrid/NodeI.cpp
parentminor g++ warning (diff)
downloadice-aab12cf1719b425b5a2c571b8938d47cdd71d151.tar.bz2
ice-aab12cf1719b425b5a2c571b8938d47cdd71d151.tar.xz
ice-aab12cf1719b425b5a2c571b8938d47cdd71d151.zip
ICE-4774: Merged skype_props enhancement
Diffstat (limited to 'cpp/src/IceGrid/NodeI.cpp')
-rw-r--r--cpp/src/IceGrid/NodeI.cpp57
1 files changed, 53 insertions, 4 deletions
diff --git a/cpp/src/IceGrid/NodeI.cpp b/cpp/src/IceGrid/NodeI.cpp
index 1c03de9c4fa..de95ba412d2 100644
--- a/cpp/src/IceGrid/NodeI.cpp
+++ b/cpp/src/IceGrid/NodeI.cpp
@@ -374,6 +374,7 @@ void
NodeI::loadServer_async(const AMD_Node_loadServerPtr& amdCB,
const InternalServerDescriptorPtr& descriptor,
const string& replicaName,
+ bool noRestart,
const Ice::Current& current)
{
ServerCommandPtr command;
@@ -418,7 +419,7 @@ NodeI::loadServer_async(const AMD_Node_loadServerPtr& amdCB,
try
{
- command = server->load(amdCB, descriptor, replicaName);
+ command = server->load(amdCB, descriptor, replicaName, noRestart);
}
catch(const Ice::ObjectNotExistException&)
{
@@ -450,9 +451,57 @@ NodeI::loadServer_async(const AMD_Node_loadServerPtr& amdCB,
}
void
-NodeI::destroyServer_async(const AMD_Node_destroyServerPtr& amdCB,
- const string& serverId,
- const string& uuid,
+NodeI::loadServer_async(const AMD_Node_loadServerPtr& amdCB,
+ const InternalServerDescriptorPtr& descriptor,
+ const string& replicaName,
+ const Ice::Current& current)
+{
+ loadServer_async(amdCB, descriptor, replicaName, false, current);
+}
+
+void
+NodeI::loadServerWithoutRestart_async(const AMD_Node_loadServerWithoutRestartPtr& amdCB,
+ const InternalServerDescriptorPtr& descriptor,
+ const string& replicaName,
+ const Ice::Current& current)
+{
+ class LoadServerCB : public AMD_Node_loadServer
+ {
+ public:
+
+ LoadServerCB(const AMD_Node_loadServerWithoutRestartPtr& cb) : _cb(cb)
+ {
+ }
+
+ virtual void
+ ice_response(const ServerPrx& server, const AdapterPrxDict& adapters, Ice::Int actTimeout, Ice::Int deacTimeout)
+ {
+ _cb->ice_response(server, adapters, actTimeout, deacTimeout);
+ };
+
+ virtual void
+ ice_exception(const ::std::exception& ex)
+ {
+ _cb->ice_exception(ex);
+ }
+
+ virtual void
+ ice_exception()
+ {
+ _cb->ice_exception();
+ }
+
+ private:
+
+ const AMD_Node_loadServerWithoutRestartPtr _cb;
+ };
+ loadServer_async(new LoadServerCB(amdCB), descriptor, replicaName, true, current);
+}
+
+void
+NodeI::destroyServer_async(const AMD_Node_destroyServerPtr& amdCB,
+ const string& serverId,
+ const string& uuid,
int revision,
const string& replicaName,
const Ice::Current& current)