51 lines
1.6 KiB
Python
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:
|