telepathy-integration-daemon is a Daemon that syncs details of your Telepathy accounts and their contacts into Nepomuk. It should always be running in the background (telepathy-monitor-kded or whatever it's called - basically a KDED module for keeping an eye on services that KDE requires to be running for fully integrated Telepathy functionality - should launch it on startup and keep it running.
At the moment, this daemon works well enough for developer purposes.
Current working features:
- Add my accounts to Nepomuk, and sync their presence and nickname.
- Add my contacts to Nepomuk, and sync their presence and nickname.
Notable missing features:
- Handle deletion of accounts or contacts.
- Sync any other account/contact parameters.
- Sync from Nepomuk to Telepathy (is this even a desirable feature? I don't yet know).
- Handle avatars.
- Performance/reduce unnecessary network round trips.
Get the source code here: svn://svn.kde.org/home/kde/trunk/playground/network/telepathy-integration-daemon
Main class TelepathyAccountMonitor monitors the Tp::AccountManager keeping track of any new accounts which are added or removed. For each existing account, creates an instance of TelepathyAccount.
Monitors one Tp::Account. Keeps its data in sync with the relevant data in nepomuk for that account. When the account is connected, gets the contact list for the connection and creates TelepathyContact objects for each one.
Monitors one Tp::Contact. Keeps any info on it synced to Nepomuk. Destroyed when parent connection goes down.