summaryrefslogtreecommitdiff
path: root/cpp/demo/Glacier/session/HelloSessionI.cpp
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2002-04-22 15:32:23 +0000
committerMatthew Newhook <matthew@zeroc.com>2002-04-22 15:32:23 +0000
commit30fec93a8099173baf8180fc5d7736c55cff8a5b (patch)
tree977447ff0a22c8f0710a19e26aa2f27180479b10 /cpp/demo/Glacier/session/HelloSessionI.cpp
parentfix (diff)
downloadice-30fec93a8099173baf8180fc5d7736c55cff8a5b.tar.bz2
ice-30fec93a8099173baf8180fc5d7736c55cff8a5b.tar.xz
ice-30fec93a8099173baf8180fc5d7736c55cff8a5b.zip
Various Glacier changes.
Diffstat (limited to 'cpp/demo/Glacier/session/HelloSessionI.cpp')
-rw-r--r--cpp/demo/Glacier/session/HelloSessionI.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/cpp/demo/Glacier/session/HelloSessionI.cpp b/cpp/demo/Glacier/session/HelloSessionI.cpp
new file mode 100644
index 00000000000..30f1e4111f7
--- /dev/null
+++ b/cpp/demo/Glacier/session/HelloSessionI.cpp
@@ -0,0 +1,55 @@
+// **********************************************************************
+//
+// Copyright (c) 2001
+// MutableRealms, Inc.
+// Huntsville, AL, USA
+//
+// All Rights Reserved
+//
+// **********************************************************************
+
+#include <Ice/Ice.h>
+#include <HelloSessionI.h>
+
+using namespace std;
+
+HelloSessionManagerI::HelloSessionManagerI(const Ice::ObjectAdapterPtr& adapter) :
+ _adapter(adapter)
+{
+}
+
+Glacier::SessionPrx
+HelloSessionManagerI::create(const string& userId, const Ice::Current&)
+{
+ Glacier::SessionPtr session = new HelloSessionI(userId, this);
+ Ice::Identity ident;
+ ident.category = userId;
+ ident.name = "session";
+
+ _adapter->add(session, ident);
+ return Glacier::SessionPrx::uncheckedCast(_adapter->createProxy(ident));
+}
+
+void
+HelloSessionManagerI::remove(const Ice::Identity& ident)
+{
+ _adapter->remove(ident);
+}
+
+HelloSessionI::HelloSessionI(const string& userId, const HelloSessionManagerIPtr& manager) :
+ _userId(userId),
+ _manager(manager)
+{
+}
+
+void
+HelloSessionI::hello(const Ice::Current&)
+{
+ cout << "Hello " << _userId << endl;
+}
+
+void
+HelloSessionI::stop(const Ice::Current& current)
+{
+ _manager->remove(current.identity);
+}