diff options
author | Matthew Newhook <matthew@zeroc.com> | 2002-04-22 15:32:23 +0000 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2002-04-22 15:32:23 +0000 |
commit | 30fec93a8099173baf8180fc5d7736c55cff8a5b (patch) | |
tree | 977447ff0a22c8f0710a19e26aa2f27180479b10 /cpp/demo/Glacier/session/HelloSessionI.cpp | |
parent | fix (diff) | |
download | ice-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.cpp | 55 |
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); +} |