diff options
Diffstat (limited to 'py/demo/IceGrid/allocate/Server.py')
-rw-r--r-- | py/demo/IceGrid/allocate/Server.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/py/demo/IceGrid/allocate/Server.py b/py/demo/IceGrid/allocate/Server.py new file mode 100644 index 00000000000..750d5e30800 --- /dev/null +++ b/py/demo/IceGrid/allocate/Server.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python +# ********************************************************************** +# +# Copyright (c) 2003-2006 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. +# +# ********************************************************************** + +import sys, traceback, Ice + +Ice.loadSlice('Hello.ice') +import Demo + +class HelloI(Demo.Hello): + def __init__(self, name): + self.name = name + + def sayHello(self, current=None): + print self.name + " says Hello World!" + + def shutdown(self, current=None): + print self.name + " shutting down..." + current.adapter.getCommunicator().shutdown() + +class Server(Ice.Application): + def run(self, args): + properties = self.communicator().getProperties() + adapter = self.communicator().createObjectAdapter("Hello") + id = self.communicator().stringToIdentity(properties.getProperty("Identity")) + adapter.add(HelloI(properties.getProperty("Ice.ServerId")), id) + adapter.activate() + self.communicator().waitForShutdown() + return 0 + +app = Server() +sys.exit(app.main(sys.argv)) |