Example #1
0
        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;
                    }
                }
            }
        }
Example #2
0
 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 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));
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
 public EmpathySavedStatusItem(ConnectionPresenceType status, string message) : base(status)
 {
     Message = message;
 }
Example #9
0
        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;
        }
Example #10
0
 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;
 }
Example #13
0
 public ContactStatusEventArgs(ConnectionPresenceType action)
 {
     this.action = action;
 }
Example #14
0
 public EmpathyStatusItem(ConnectionPresenceType status)
 {
     this.Status = status;
 }
Example #15
0
        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;
                    }
                }
            }
        }
Example #16
0
 public EmpathyStatusItem(ConnectionPresenceType status)
 {
     this.Status = status;
 }
Example #17
0
 public EmpathyStatusItem(ConnectionPresenceType status, string message)
 {
     this.Status = status;
 }
Example #18
0
 public EmpathyStatusItem(ConnectionPresenceType status, string message)
 {
     this.Status = status;
 }
Example #19
0
 protected Contact CreateContact(string member_name,
                                 uint handle,
                                 ConnectionPresenceType status)
 {
     return(CreateContact(member_name, handle, status, null));
 }