KIMProxy Class Reference
This class provides an easy-to-use interface to any instant messengers or chat programs that you have installed that implement KIMIface. More...
#include <kimproxy.h>
Inheritance diagram for KIMProxy:


Public Slots | |
void | registeredToDCOP (const QCString &appId) |
void | unregisteredFromDCOP (const QCString &appId) |
Signals | |
void | sigContactPresenceChanged (const QString &uid) |
void | sigPresenceInfoExpired () |
Public Member Functions | |
bool | initialize () |
QStringList | allContacts () |
QStringList | reachableContacts () |
QStringList | onlineContacts () |
QStringList | fileTransferContacts () |
bool | isPresent (const QString &uid) |
QString | displayName (const QString &uid) |
int | presenceNumeric (const QString &uid) |
QString | presenceString (const QString &uid) |
QPixmap | presenceIcon (const QString &uid) |
bool | canReceiveFiles (const QString &uid) |
bool | canRespond (const QString &uid) |
QString | locate (const QString &contactId, const QString &protocol) |
QString | context (const QString &uid) |
void | chatWithContact (const QString &uid) |
void | messageContact (const QString &uid, const QString &message) |
void | sendFile (const QString &uid, const KURL &sourceURL, const QString &altFileName=QString::null, uint fileSize=0) |
bool | addContact (const QString &contactId, const QString &protocol) |
bool | imAppsAvailable () |
bool | startPreferredApp () |
void | contactPresenceChanged (QString uid, QCString appId, int presence) |
Static Public Member Functions | |
static KIMProxy * | instance (DCOPClient *client) |
Protected Member Functions | |
void | pollAll (const QString &uid) |
bool | updatePresence (const QString &uid, const QCString &appId, int presence) |
QString | preferredApp () |
KIMIface_stub * | stubForUid (const QString &uid) |
KIMIface_stub * | stubForProtocol (const QString &protocol) |
Friends | |
class | KStaticDeleter |
Detailed Description
This class provides an easy-to-use interface to any instant messengers or chat programs that you have installed that implement KIMIface.It works simultaneously with any running programs that implement the ServiceType DCOP/InstantMessenger If a UID is reachable with more than one program, KIMProxy aggregates the available information and presents the 'best' presence. For example, for a contact who can be seen to be Away in IRC on program A but Online using ICQ on program B, the information from program B will be used. KIMProxy is designed for simple information in a wide number of cases, not for detailed messaging.
Most operations work in terms of uids belonging to KABC::Addressee, but use of the address book is optional. You can get a list of known contacts with imAddresseeUids and then check their presence using the various accessor methods presenceString, presenceNumeric and display the IM programs' display names for them using displayName.
To use, just get an instance using instance.
- Since:
- 3.3
- Author:
- Will Stephenson <lists@stevello.free-online.co.uk>
Definition at line 68 of file kimproxy.h.
Member Function Documentation
|
Obtain an instance of KIMProxy. Note, if you share this DCOPClient with your own app, that kimproxy uses DCOPClient::setNotifications() to make sure it updates its information when the IM application it is interfacing to exits.
Definition at line 85 of file kimproxy.cpp. |
|
Get the proxy ready to connect Discover any running preferred IM clients and set up stubs for it.
Definition at line 124 of file kimproxy.cpp. Referenced by addContact(), allContacts(), canReceiveFiles(), canRespond(), chatWithContact(), context(), displayName(), fileTransferContacts(), isPresent(), locate(), messageContact(), onlineContacts(), presenceIcon(), presenceNumeric(), presenceString(), reachableContacts(), and sendFile(). |
|
Obtain a list of IM-contactable entries in the KDE address book.
Definition at line 174 of file kimproxy.cpp. References initialize(). |
|
Obtain a list of KDE address book entries who are currently reachable.
Definition at line 189 of file kimproxy.cpp. References initialize(). |
|
Obtain a list of KDE address book entries who are currently online.
Definition at line 204 of file kimproxy.cpp. References initialize(). |
|
Obtain a list of KDE address book entries who may receive file transfers.
Definition at line 219 of file kimproxy.cpp. References initialize(). |
|
Confirm if a given KABC uid is known to KIMProxy.
Definition at line 234 of file kimproxy.cpp. References initialize(). |
|
Obtain the IM app's idea of the contact's display name Useful if KABC lookups may be too slow.
Definition at line 252 of file kimproxy.cpp. References initialize(), and stubForUid(). |
|
Obtain the IM presence as a number (see KIMIface) for the specified addressee.
Definition at line 264 of file kimproxy.cpp. References initialize(), and pollAll(). Referenced by presenceIcon(), and presenceString(). |
|
Obtain the IM presence as a i18ned string for the specified addressee.
Definition at line 277 of file kimproxy.cpp. References initialize(), presenceNumeric(), and stubForUid(). |
|
Obtain the icon representing IM presence for the specified addressee.
Definition at line 306 of file kimproxy.cpp. References initialize(), pollAll(), presenceNumeric(), and stubForUid(). |
|
Indicate if a given uid can receive files.
Definition at line 332 of file kimproxy.cpp. References initialize(), and stubForUid(). |
|
Some media are unidirectional (eg, sending SMS via a web interface).
Definition at line 342 of file kimproxy.cpp. References initialize(), and stubForUid(). |
|
Get the KABC uid corresponding to the supplied IM address Protocols should be.
Definition at line 409 of file kimproxy.cpp. References initialize(), and stubForProtocol(). |
|
Get the supplied addressee's current context (home, work, or any).
Definition at line 352 of file kimproxy.cpp. References initialize(), and stubForUid(). |
|
Start a chat session with the specified addressee.
Definition at line 362 of file kimproxy.cpp. References initialize(), and stubForUid(). |
|
Send a single message to the specified addressee Any response will be handled by the IM client as a normal conversation.
Definition at line 372 of file kimproxy.cpp. References initialize(), and stubForUid(). |
|
Send the file to the contact.
Definition at line 382 of file kimproxy.cpp. References initialize(). |
|
Add a contact to the contact list.
Definition at line 399 of file kimproxy.cpp. References initialize(), and stubForProtocol(). |
|
Are there any compatible instant messaging apps installed?
Definition at line 419 of file kimproxy.cpp. |
|
Start the user's preferred IM application.
Definition at line 425 of file kimproxy.cpp. References preferredApp(). |
|
Just exists to let the idl compiler make the DCOP signal for this.
Definition at line 504 of file kimproxy.cpp. References sigContactPresenceChanged(), and updatePresence(). |
|
Indicates that the specified UID's presence changed.
Referenced by contactPresenceChanged(). |
|
Indicates that the sources of presence information have changed so any previously supplied presence info is invalid.
|
|
Bootstrap our presence data by polling all known apps.
Definition at line 538 of file kimproxy.cpp. Referenced by presenceIcon(), presenceNumeric(), and stubForUid(). |
|
Update our records with the given data.
Definition at line 512 of file kimproxy.cpp. Referenced by contactPresenceChanged(). |
|
Get the name of the user's IM weapon of choice.
Definition at line 589 of file kimproxy.cpp. Referenced by startPreferredApp(), and stubForProtocol(). |
|
Get the app stub best able to reach this uid.
Definition at line 556 of file kimproxy.cpp. References pollAll(). Referenced by canReceiveFiles(), canRespond(), chatWithContact(), context(), displayName(), messageContact(), presenceIcon(), and presenceString(). |
|
Get the app stub for this protocol. Take the preferred app first, then any other. Definition at line 569 of file kimproxy.cpp. References preferredApp(). Referenced by addContact(), and locate(). |
The documentation for this class was generated from the following files: