gnuradionetwork/frn/manager/remote.py

51 lines
1.6 KiB
Python

# -*- coding: utf-8 -*-
#
# Copyright 2010 Maurizio Porrato <maurizio.porrato@gmail.com>
# See LICENSE.txt for copyright info
from zope.interfaces import implements
from frn.manager import IManager
from twisted.python import log
from frn.protocol.manager import FRNManagerClient, FRNManagerClientFactory
class RemoteManager(object):
implements(IManager)
def __init__(self, reactor, server='frn.no-ip.info', port=10025):
self.reactor = reactor
self.server = server
self.port = port
self.factory = FRNManagerClientFactory()
self.factory.continueTrying = 0 # FIXME
def serverLogin(self, user):
def connectionDone(conn):
log.msg("%s connected" % self.server)
self.managerConnection = conn
return conn
self.reactor.connectTCP(self.server, self.port, self.factory)
log.msg("RemoteManager started connecting %s" % self.server)
return self.factory.managerConnection.addCallback(
connectionDone).addCallback(
lambda _: self.managerConnection.sendServerLogin(user))
def serverLogout(self, user):
return self.managerConnection.sendServerLogout(user)
def clientLogin(self, user):
return self.managerConnection.sendClientLogin(user)
def clientLogout(self, user):
return self.managerConnection.sendClientLogout(user)
def getClientList(self):
return self.managerConnection.getClientList()
def registerUser(self, user):
return self.managerConnection.registerUser(user)
# vim: set et ai sw=4 ts=4 sts=4: