From c751b6116ce7b3b9cc2f8d1376a7cd9617649050 Mon Sep 17 00:00:00 2001 From: helmutm Date: Fri, 17 Oct 2008 09:36:33 +0000 Subject: [PATCH] start setting up some more controller classes git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2919 fd906abe-77d9-0310-91a1-e0d9ade77398 --- agent/control/ajaxclient.py | 40 +++++++++++++++++++++++++++++++++++++ agent/control/remote.py | 18 ++++++++++++++--- agent/main.py | 2 +- 3 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 agent/control/ajaxclient.py diff --git a/agent/control/ajaxclient.py b/agent/control/ajaxclient.py new file mode 100644 index 0000000..1f4b1dd --- /dev/null +++ b/agent/control/ajaxclient.py @@ -0,0 +1,40 @@ +# +# Copyright (c) 2008 Helmut Merz helmutm@cy55.de +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +""" +Controller that receives and responds to requests from a browser (AJAX) client; +in parallel it sends informations to the client by responding to +polling requests from the client. + +$Id$ +""" + +from zope.interface import implements + +from cybertools.agent.base.agent import Master +from cybertools.agent.core.control import SampleController +from cybertools.agent.components import controllers + + +class ClientController(SampleController): + + def setup(self): + super(ClientController, self).setup() + + +controllers.register(ClientController, Master, name='ajaxclient') diff --git a/agent/control/remote.py b/agent/control/remote.py index 0f7c543..314d4e0 100644 --- a/agent/control/remote.py +++ b/agent/control/remote.py @@ -17,10 +17,22 @@ # """ -Controller that accepts, forwards and stores data received by the -rpcserver +Controller that accepts and processes requests via XML-RPC. $Id$ """ -from zope.interface import implements \ No newline at end of file +from zope.interface import implements + +from cybertools.agent.base.agent import Master +from cybertools.agent.core.control import SampleController +from cybertools.agent.components import controllers + + +class RemoteController(SampleController): + + def setup(self): + super(RemoteController, self).setup() + + +controllers.register(RemoteController, Master, name='remote') diff --git a/agent/main.py b/agent/main.py index e28a66f..ec167c9 100755 --- a/agent/main.py +++ b/agent/main.py @@ -55,7 +55,7 @@ def setup(configInfo=None): def setupEnvironment(config): from cybertools.agent.base import agent, control, job, log, schedule from cybertools.agent.core import agent, control, schedule - from cybertools.agent.control import cmdline, remote + from cybertools.agent.control import cmdline, remote, ajaxclient from cybertools.agent.transport import remote, loops from cybertools.agent.system.windows import api api.setup(config)