/// <summary> /// Converts <see cref="MISTATUS"/> to <see cref="MessengerStatus"/> /// </summary> internal static MessengerStatus ToStatus(MISTATUS status) { switch (status) { // Online case MISTATUS.MISTATUS_ONLINE: return(MessengerStatus.Online); //Away case MISTATUS.MISTATUS_IDLE: case MISTATUS.MISTATUS_AWAY: return(MessengerStatus.Away); case MISTATUS.MISTATUS_BE_RIGHT_BACK: return(MessengerStatus.BeRightBack); case MISTATUS.MISTATUS_OUT_TO_LUNCH: return(MessengerStatus.OutToLunch); //Busy case MISTATUS.MISTATUS_BUSY: return(MessengerStatus.Busy); case MISTATUS.MISTATUS_ON_THE_PHONE: return(MessengerStatus.OnThePhone); //Offline case MISTATUS.MISTATUS_OFFLINE: return(MessengerStatus.Offline); case MISTATUS.MISTATUS_INVISIBLE: return(MessengerStatus.Invisible); default: return(MessengerStatus.Unknown); } }
private static Status Translate(MISTATUS status) { return(status == MISTATUS.MISTATUS_IN_A_CONFERENCE || status == MISTATUS.MISTATUS_BUSY || status == MISTATUS.MISTATUS_DO_NOT_DISTURB || status == MISTATUS.MISTATUS_IN_A_MEETING || status == MISTATUS.MISTATUS_ON_THE_PHONE ? Status.InMeeting : Status.NotInMeeting); }
static void _messenger_OnContactStatusChange(object pMContact, MISTATUS mStatus) { Console.WriteLine("\n***Contact Updated Status Change at {0}", DateTime.Now.ToString()); // Your code to work with presence goes here... Console.WriteLine("\n***OnContactStatusChange***"); DisplayContactPresence((IMessengerContactAdvanced)pMContact); InsertContactInfo((IMessengerContactAdvanced)pMContact); }
void OnContactStatusChange(Object eventContactObject, MISTATUS eventStatus) { IMessengerContact eventContact = eventContactObject as IMessengerContact; if ((null == eventContact) || (eventContact.SigninName != contact.SigninName)) { return; } AvailabilityChanged(this, new EventArgs()); }
static void _messenger_OnMyStatusChange(int hr, MISTATUS mMyStatus) { Console.WriteLine("\n***OnMyStatusChange***"); DisplayContactPresence((IMessengerContactAdvanced) _messenger.GetContact(_messenger.MySigninName, _messenger.MyServiceId)); }
static string GetStatusString(MISTATUS mStatus) { switch (mStatus) { case MISTATUS.MISTATUS_ALLOW_URGENT_INTERRUPTIONS: return("Urgent interuptions only"); case MISTATUS.MISTATUS_AWAY: return("Away"); case MISTATUS.MISTATUS_BE_RIGHT_BACK: return("Be right back"); case MISTATUS.MISTATUS_BUSY: return("Busy"); case MISTATUS.MISTATUS_DO_NOT_DISTURB: return("Do no disturb"); case MISTATUS.MISTATUS_IDLE: return("Idle"); case MISTATUS.MISTATUS_INVISIBLE: return("Invisible"); case MISTATUS.MISTATUS_IN_A_CONFERENCE: return("In a conference"); case MISTATUS.MISTATUS_IN_A_MEETING: return("In a meeting"); case MISTATUS.MISTATUS_LOCAL_CONNECTING_TO_SERVER: return("Connecting to server"); case MISTATUS.MISTATUS_LOCAL_DISCONNECTING_FROM_SERVER: return("Disconnecting from server"); case MISTATUS.MISTATUS_LOCAL_FINDING_SERVER: return("Finding server"); case MISTATUS.MISTATUS_LOCAL_SYNCHRONIZING_WITH_SERVER: return("Synchronizing with server"); case MISTATUS.MISTATUS_MAY_BE_AVAILABLE: return("Inactive"); case MISTATUS.MISTATUS_OFFLINE: return("Offline"); case MISTATUS.MISTATUS_ONLINE: return("Online"); case MISTATUS.MISTATUS_ON_THE_PHONE: return("In a call"); case MISTATUS.MISTATUS_OUT_OF_OFFICE: return("Out of office"); case MISTATUS.MISTATUS_OUT_TO_LUNCH: return("Out to lunch"); case MISTATUS.MISTATUS_UNKNOWN: return("Unknown"); default: return("Indeterminate"); } }
private void communicator_OnContactStatusChange(object pMContact, MISTATUS mStatus) { IMessengerContactAdvanced contact = (IMessengerContactAdvanced)pMContact; if (m_SubscribedContacts.ContainsKey(contact.SigninName.ToLower())) { StatusChangedEventArgs args = new StatusChangedEventArgs(); args.Email = contact.SigninName.ToLower(); args.CurrentStatus = MistatusToFoosStatus(contact.Status); args.TimeOfChange = DateTime.Now; OnStatusChanged(args); } }
private static Status MistatusToFoosStatus(MISTATUS miStatus) { switch (miStatus) { case MISTATUS.MISTATUS_ONLINE: case MISTATUS.MISTATUS_IDLE: case MISTATUS.MISTATUS_IN_A_MEETING: case MISTATUS.MISTATUS_MAY_BE_AVAILABLE: return Status.Available; case MISTATUS.MISTATUS_OFFLINE: return Status.Offline; case MISTATUS.MISTATUS_UNKNOWN: return Status.Unknown; default: return Status.Busy; } }
static void messenger_OnContactStatusChange(dynamic contact, MISTATUS mStatus) { Console.WriteLine(contact.FriendlyName + " " + mStatus.ToString()); }