From bcb704366cb5e333a626c18c308c7e0448a8e69f Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdenetwork@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kopete/protocols/oscar/aim/aimprotocol.h | 85 ++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 kopete/protocols/oscar/aim/aimprotocol.h (limited to 'kopete/protocols/oscar/aim/aimprotocol.h') diff --git a/kopete/protocols/oscar/aim/aimprotocol.h b/kopete/protocols/oscar/aim/aimprotocol.h new file mode 100644 index 00000000..e6c578e6 --- /dev/null +++ b/kopete/protocols/oscar/aim/aimprotocol.h @@ -0,0 +1,85 @@ +/* + oscarprotocol.h - Oscar Protocol Plugin + + Copyright (c) 2002 by Tom Linsky + Copyright (c) 2005 by Matt Rogers + Kopete (c) 2002 by the Kopete developers + + ************************************************************************* + * * + * This program 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 AIMPROTOCOL_H +#define AIMPROTOCOL_H + +#include "kopeteprotocol.h" +#include "kopetecontactproperty.h" +#include "kopetemimetypehandler.h" +#include "kopeteonlinestatus.h" + +#include + +namespace Kopete +{ +class OnlineStatus; +} + +class AIMProtocolHandler : public Kopete::MimeTypeHandler +{ +public: + AIMProtocolHandler(); + void handleURL( const KURL & url ) const; +}; + +class AIMProtocol : public Kopete::Protocol +{ + Q_OBJECT + +public: + AIMProtocol( QObject *parent, const char *name, const QStringList &args ); + virtual ~AIMProtocol(); + /** + * Return the active instance of the protocol + * because it's a singleton, can only be used inside AIM classes, not in oscar lib + */ + static AIMProtocol *protocol(); + + bool canSendOffline() const { return false; } + + virtual Kopete::Contact *deserializeContact( Kopete::MetaContact *metaContact, + const QMap &serializedData, + const QMap &addressBookData ); + + AddContactPage*createAddContactWidget( QWidget *parent, Kopete::Account *account ); + KopeteEditAccountWidget* createEditAccountWidget( Kopete::Account *account, QWidget *parent ); + Kopete::Account* createNewAccount( const QString &accountId ); + + /** + * The set of online statuses that AIM contacts can have + */ + const Kopete::OnlineStatus statusOnline; + const Kopete::OnlineStatus statusOffline; + const Kopete::OnlineStatus statusAway; + const Kopete::OnlineStatus statusWirelessOnline; + const Kopete::OnlineStatus statusWirelessAway; + const Kopete::OnlineStatus statusConnecting; + + const Kopete::ContactPropertyTmpl awayMessage; + const Kopete::ContactPropertyTmpl clientFeatures; + const Kopete::ContactPropertyTmpl clientProfile; + const Kopete::ContactPropertyTmpl iconHash; + +private: + /** The active instance of oscarprotocol */ + static AIMProtocol *protocolStatic_; + AIMProtocolHandler protohandler; +}; + +#endif +//kate: tab-width 4; indent-mode csands; -- cgit v1.2.1