public void SetStatus(ConnectionPresenceType status, string message) { ISimplePresence simplePresence = Bus.Session.GetObject <ISimplePresence> (connectionBusIFace, connectionPath); // Properties simplePresenceProperties = Bus.Session.GetObject<Properties> (connectionBusIFace, connectionPath); // IDictionary<string, object> lstStatus = (IDictionary<string, object>) simplePresenceProperties.Get("org.freedesktop.Telepathy.Connection.Interface.SimplePresence", "Statuses"); List <BaseStatus> possibleStatusLst = EmpathyStatus.GetStatusList(status); // TODO: utiliser SimplePresence au lieu de Presence IPresence presence = Bus.Session.GetObject <IPresence> (connectionBusIFace, connectionPath); IDictionary <string, StatusSpec> lstStatus = presence.GetStatuses(); foreach (BaseStatus oneStatus in possibleStatusLst) { StatusSpec statusSpec; if (lstStatus.TryGetValue(oneStatus.ToString(), out statusSpec)) { if (statusSpec.MaySetOnSelf) { simplePresence.SetPresence(oneStatus.ToString(), message); return; } } } }
public static void SetAvailabilityStatus(ConnectionPresenceType status, string message) { foreach (Account account in GetConnectedAccounts()) { account.SetStatus(status, message); } }
protected internal Contact(Roster roster, string member_name, uint handle, ConnectionPresenceType status) : this() { this.Roster = roster; this.Name = member_name; this.Handle = handle; this.Status = status; }
protected internal virtual void Update(string member_name, uint handle, ConnectionPresenceType status, string status_message) { this.Name = member_name; this.Handle = handle; this.Status = status; this.StatusMessage = status_message; OnContactUpdated(new ContactStatusEventArgs(status)); }
protected virtual Contact CreateContact(string member_name, uint handle, ConnectionPresenceType status, string status_message) { Contact c = new Contact(this, member_name, handle, status); if (status_message != null) { c.StatusMessage = status_message; } return(c); }
public static List <BaseStatus> GetStatusList(ConnectionPresenceType presenceType) { List <BaseStatus> res = new List <BaseStatus>(); switch (presenceType) { case ConnectionPresenceType.Available: res.Add(BaseStatus.available); break; case ConnectionPresenceType.Away: res.Add(BaseStatus.away); res.Add(BaseStatus.brb); break; case ConnectionPresenceType.Busy: res.Add(BaseStatus.busy); res.Add(BaseStatus.dnd); break; case ConnectionPresenceType.Error: res.Add(BaseStatus.error); break; case ConnectionPresenceType.ExtendedAway: res.Add(BaseStatus.xa); break; case ConnectionPresenceType.Hidden: res.Add(BaseStatus.hidden); break; case ConnectionPresenceType.Offline: res.Add(BaseStatus.offline); break; case ConnectionPresenceType.Unknown: res.Add(BaseStatus.unknown); break; default: break; } return(res); }
public EmpathySavedStatusItem(ConnectionPresenceType status, string message) : base(status) { Message = message; }
public static List<BaseStatus> GetStatusList(ConnectionPresenceType presenceType) { List<BaseStatus> res = new List<BaseStatus>(); switch (presenceType) { case ConnectionPresenceType.Available: res.Add(BaseStatus.available); break; case ConnectionPresenceType.Away: res.Add(BaseStatus.away); res.Add(BaseStatus.brb); break; case ConnectionPresenceType.Busy: res.Add(BaseStatus.busy); res.Add(BaseStatus.dnd); break; case ConnectionPresenceType.Error: res.Add(BaseStatus.error); break; case ConnectionPresenceType.ExtendedAway: res.Add(BaseStatus.xa); break; case ConnectionPresenceType.Hidden: res.Add(BaseStatus.hidden); break; case ConnectionPresenceType.Offline: res.Add(BaseStatus.offline); break; case ConnectionPresenceType.Unknown: res.Add(BaseStatus.unknown); break; default: break; } return res; }
public static void SetAvailabilityStatus(ConnectionPresenceType status, string message) { foreach (Account account in GetConnectedAccounts ()) { account.SetStatus(status, message); } }
protected internal void Update(string member_name, uint handle, ConnectionPresenceType status) { Update(member_name, handle, status, String.Empty); }
public ContactStatusEventArgs(ConnectionPresenceType action) { this.action = action; }
public EmpathyStatusItem(ConnectionPresenceType status) { this.Status = status; }
public void SetStatus(ConnectionPresenceType status, string message) { ISimplePresence simplePresence = Bus.Session.GetObject<ISimplePresence> (connectionBusIFace, connectionPath); // Properties simplePresenceProperties = Bus.Session.GetObject<Properties> (connectionBusIFace, connectionPath); // IDictionary<string, object> lstStatus = (IDictionary<string, object>) simplePresenceProperties.Get("org.freedesktop.Telepathy.Connection.Interface.SimplePresence", "Statuses"); List<BaseStatus> possibleStatusLst = EmpathyStatus.GetStatusList(status); // TODO: utiliser SimplePresence au lieu de Presence IPresence presence = Bus.Session.GetObject<IPresence> (connectionBusIFace, connectionPath); IDictionary<string, StatusSpec> lstStatus = presence.GetStatuses(); foreach(BaseStatus oneStatus in possibleStatusLst) { StatusSpec statusSpec; if(lstStatus.TryGetValue(oneStatus.ToString(), out statusSpec) ) { if (statusSpec.MaySetOnSelf) { simplePresence.SetPresence(oneStatus.ToString(), message); return; } } } }
public EmpathyStatusItem(ConnectionPresenceType status, string message) { this.Status = status; }
protected Contact CreateContact(string member_name, uint handle, ConnectionPresenceType status) { return(CreateContact(member_name, handle, status, null)); }