Package twisted :: Package im :: Module basesupport :: Class AbstractAccount

[show private | hide private]
[frames | no frames]

## Class AbstractAccount

    Versioned --+
                |
               AbstractAccount

Known Subclasses:
  `IRCAccount`, `PBAccount`, `TOCAccount`

Base class for Accounts.

I am the start of an implementation of `IAccount<interfaces.IAccount>`, I implement `isOnline` and most of `logOn`, though you'll need to implement `_startLogOn` in a subclass.

Method Summary
| `__init__(self, accountName, autoLogin, username, password, host, port)`
| `__getstate__(self)`
| `__repr__(self)`
| `__setstate__(self, state)` (inherited from `Versioned`)
| ``getGroup`(self, name)` Group factory.
| ``getPerson`(self, name)` Person factory.
| `isOnline(self)`
Deferred `interfaces.IClient` | ``logOn`(self, chatui)` Log on to this account.
| `upgrateToVersion2(self)`
| ``versionUpgrade`(self)` (internal) Do a version upgrade. (inherited from `Versioned`)
| `_cb_logOn(self, client)`
| `_clientLost(self, client, reason)`
Failure | ``_loginFailed`(self, reason)` Errorback for `logOn`.
Deferred `interfaces.IClient` | ``_startLogOn`(self, chatui)` Start the sign on process.

Instance Variable Summary
| `accountName` -
| `autoLogin` -
| `host` -
| `password` -
| `port` -
| `username` -
| `_isConnecting` - Whether I am in the process of establishing a connection to the server.
| `_isOnline` - Whether I am currently on-line with the server.

Class Variable Summary
`class` | `AbstractGroup` - A Callable that will return a `IGroup`appropriate for this account type.
`class` | `AbstractPerson` - A Callable that will return a `IPerson`appropriate for this account type.
`NoneType` | `client`
`int` | `persistanceVersion`
boolean | `_isConnecting`
boolean | `_isOnline`

Method Details

### getGroup(self, name)

Group factory.

  Parameters:
    `name` - Name of the group on this account.
    (type=string)

### getPerson(self, name)

Person factory.

  Parameters:
    `name` - Name of the person on this account.
    (type=string)

### logOn(self, chatui)

Log on to this account.

Takes care to not start a connection if a connection is already in progress. You will need to implement `_startLogOn` for this to work, and it would be a good idea to override `_loginFailed` too.

  Returns:
    Deferred `interfaces.IClient`

### _loginFailed(self, reason)

Errorback for `logOn`.

  Parameters:
    `reason`
    (type=Failure)
  Returns:
    reason, for further processing in the callback chain.
    (type=Failure)

### _startLogOn(self, chatui)

Start the sign on process.

Factored out of `logOn`.

  Returns:
    Deferred `interfaces.IClient`

Instance Variable Details

### accountName

### autoLogin

### host

### password

### port

### username

### _isConnecting

Whether I am in the process of establishing a connection to the server.

### _isOnline

Whether I am currently on-line with the server.

Class Variable Details

### AbstractGroup

`AbstractGroup` = `twisted.im.basesupport.AbstractGroup`

### AbstractPerson

`AbstractPerson` = `twisted.im.basesupport.AbstractPerson`

### client

  Type:
    `NoneType`
  Value:

        None

### persistanceVersion

  Type:
    `int`
  Value:

        2

### _isConnecting

  Type:
    boolean
  Value:

        0

### _isOnline

  Type:
    boolean
  Value:

        0

Generated by Epydoc 1.1 on Thu May 8 13:18:22 2003 | http://epydoc.sf.net