diff options
Diffstat (limited to 'kopete/protocols/testbed/testbedprotocol.h')
-rw-r--r-- | kopete/protocols/testbed/testbedprotocol.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/kopete/protocols/testbed/testbedprotocol.h b/kopete/protocols/testbed/testbedprotocol.h new file mode 100644 index 00000000..7ee04b7d --- /dev/null +++ b/kopete/protocols/testbed/testbedprotocol.h @@ -0,0 +1,74 @@ +/* + testbedprotocol.h - Kopete Testbed Protocol + + Copyright (c) 2003 by Will Stephenson <[email protected]> + Kopete (c) 2002-2003 by the Kopete developers <[email protected]> + + ************************************************************************* + * * + * This library 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. * + * * + ************************************************************************* +*/ + +#ifndef TESTBEDPROTOCOL_H +#define TESTBEDPROTOCOL_H + +#include <kopeteprotocol.h> + + +/** + * Encapsulates the generic actions associated with this protocol + * @author Will Stephenson + */ +class TestbedProtocol : public Kopete::Protocol +{ + Q_OBJECT +public: + TestbedProtocol(QObject *parent, const char *name, const QStringList &args); + ~TestbedProtocol(); + /** + * Convert the serialised data back into a TestbedContact and add this + * to its Kopete::MetaContact + */ + virtual Kopete::Contact *deserializeContact( + Kopete::MetaContact *metaContact, + const QMap< QString, QString > & serializedData, + const QMap< QString, QString > & addressBookData + ); + /** + * Generate the widget needed to add TestbedContacts + */ + virtual AddContactPage * createAddContactWidget( QWidget *parent, Kopete::Account *account ); + /** + * Generate the widget needed to add/edit accounts for this protocol + */ + virtual KopeteEditAccountWidget * createEditAccountWidget( Kopete::Account *account, QWidget *parent ); + /** + * Generate a TestbedAccount + */ + virtual Kopete::Account * createNewAccount( const QString &accountId ); + /** + * Access the instance of this protocol + */ + static TestbedProtocol *protocol(); + /** + * Represents contacts that are Online + */ + const Kopete::OnlineStatus testbedOnline; + /** + * Represents contacts that are Away + */ + const Kopete::OnlineStatus testbedAway; + /** + * Represents contacts that are Offline + */ + const Kopete::OnlineStatus testbedOffline; +protected: + static TestbedProtocol *s_protocol; +}; + +#endif |