root/trunk/twisted/words/im/baseaccount.py

Revision 15827, 1.8 KB (checked in by exarkun, 5 years ago)

do what I mean not what I say

revert most of r15826

Line 
1# -*- Python -*-
2#
3# Copyright (c) 2001-2004 Twisted Matrix Laboratories.
4# See LICENSE for details.
5
6#
7
8
9class AccountManager:
10    """I am responsible for managing a user's accounts.
11
12    That is, remembering what accounts are available, their settings,
13    adding and removal of accounts, etc.
14
15    @ivar accounts: A collection of available accounts.
16    @type accounts: mapping of strings to L{Account<interfaces.IAccount>}s.
17    """
18    def __init__(self):
19        self.accounts = {}
20
21    def getSnapShot(self):
22        """A snapshot of all the accounts and their status.
23
24        @returns: A list of tuples, each of the form
25            (string:accountName, boolean:isOnline,
26            boolean:autoLogin, string:gatewayType)
27        """
28        data = []
29        for account in self.accounts.values():
30            data.append((account.accountName, account.isOnline(),
31                         account.autoLogin, account.gatewayType))
32        return data
33
34    def isEmpty(self):
35        return len(self.accounts) == 0
36
37    def getConnectionInfo(self):
38        connectioninfo = []
39        for account in self.accounts.values():
40            connectioninfo.append(account.isOnline())
41        return connectioninfo
42
43    def addAccount(self, account):
44        self.accounts[account.accountName] = account
45
46    def delAccount(self, accountName):
47        del self.accounts[accountName]
48
49    def connect(self, accountName, chatui):
50        """
51        @returntype: Deferred L{interfaces.IClient}
52        """
53        return self.accounts[accountName].logOn(chatui)
54
55    def disconnect(self, accountName):
56        pass
57        #self.accounts[accountName].logOff()  - not yet implemented
58
59    def quit(self):
60        pass
61        #for account in self.accounts.values():
62        #    account.logOff()  - not yet implemented
Note: See TracBrowser for help on using the browser.