On Sat, Aug 6, 2011 at 10:35 PM, David Edmundson <[email protected]> wrote: > Rather than talking, I've just attached a bodged header file for a > class that calculates this. > > /** Retrieves the current 'global presence' based on the current > status of all the accounts*/ > > class GlobalPresence > { > public: > //FIXME account set or AccountManager? > GlobalPresence(const Tp::AccountSet &accounts); > virtual ~GlobalPresence(); > > /** The current global presence, this will return the most > 'online' presence */ > //online > away > extended away > busy > offline > > //FIXME maybe this will make more sense as a simplePresenceType? > Tp::Presence globalPresence() const; > > /** Returns Tp::Connecting if any account is connecting > * Otherwise Connected if any account is connected. > * Disconnected Otherwise > */ > Tp::ConnectionStatus globalConnectionStatus() const; > > /** Try setting all accounts to the given presence > * This may fail, watch the status of account for details. > */ > void setGlobalPresence(const Tp::Presence presence); > > signals: > globalPresenceChanged(); > globalConnectionStatusChanged(); > }
Where is this code going? In the dataengine?, the contact list?, both perhaps?, in libktelepathy?... I was thinking that it would make a lot of sense to have something like that in tp-qt4/tp-glib and possibly mention this behaviour in the spec as well, so that other clients (empathy) have the same concept of global presence. Any thoughts? Also, regarding the order: online > away > extended away > busy > offline I think that "busy" is more online than "away", as it indicates that you are there, probably working, in contrast to "away", which means you are not there. _______________________________________________ KDE-Telepathy mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-telepathy
