public static Status GetStatusValue(this TOnlineStatus status) { switch (status) { case TOnlineStatus.olsOnline: return(Status.Online); case TOnlineStatus.olsAway: return(Status.Away); case TOnlineStatus.olsOffline: return(Status.Offline); case TOnlineStatus.olsDoNotDisturb: return(Status.DoNotDisturb); case TOnlineStatus.olsNotAvailable: return(Status.NotAvailable); case TOnlineStatus.olsSkypeMe: return(Status.SkypeMe); case TOnlineStatus.olsSkypeOut: return(Status.SkypeOut); } return(Status.Unknown); }
/// <summary> /// TOnlineStatusを渡すと該当する状態メッセージを返すメソッド /// </summary> /// <param name="status">取得したいTOnlineStatus</param> /// <returns>ユーザーオンライン状態の状態メッセージ</returns> public static string GetOnlineStatusMessage(TOnlineStatus status) { switch (status) { case TOnlineStatus.olsAway: return("一時退席中"); case TOnlineStatus.olsDoNotDisturb: return("取り込み中"); case TOnlineStatus.olsNotAvailable: return("退席中"); case TOnlineStatus.olsOffline: return("オフライン"); case TOnlineStatus.olsOnline: return("オンライン"); case TOnlineStatus.olsSkypeMe: return("SkypeMe"); case TOnlineStatus.olsSkypeOut: return("SkypeOut"); case TOnlineStatus.olsUnknown: return("不明 or 未知"); } return(""); }
private string ConvertStatusToString(TOnlineStatus status) { var resultStatus = string.Empty; switch (status) { case TOnlineStatus.olsOnline: resultStatus = "Online"; break; case TOnlineStatus.olsOffline: resultStatus = "Offline"; break; case TOnlineStatus.olsAway: resultStatus = "Away"; break; case TOnlineStatus.olsDoNotDisturb: resultStatus = "Do Not Disturb"; break; case TOnlineStatus.olsNotAvailable: resultStatus = "Not Available"; break; default: resultStatus = "Unknown"; break; } return resultStatus; }
//Method to turn the Skype status to a readable string private String getStatusString(TOnlineStatus status) { String retValue = String.Empty; switch (status) { case TOnlineStatus.olsNotAvailable: retValue = "Not Available"; break; case TOnlineStatus.olsOnline: retValue = "Online"; break; case TOnlineStatus.olsDoNotDisturb: retValue = "Do Not Disturb"; break; case TOnlineStatus.olsAway: retValue = "Away"; break; default: retValue = "Unknown"; break; } currentStatus = retValue; return(retValue); }
private void OnlineStatusChanged(User pUser, TOnlineStatus Status) { var user = _skype.CurrentUser.OnlineStatus; _currentStatus = this.ConvertStatusToString(user); PostToService(_currentStatus); }
//This method runs when the program starts up private void Form1_Load(object sender, EventArgs e) { //Initial Skype Desktop API skype = new Skype(); skype.Attach(7, true); //Hookup local event method to run when Skype status changes skype.OnlineStatus += Skype_OnlineStatus; //Retrieve the current status of the skype client TOnlineStatus myStatus = skype.CurrentUser.OnlineStatus; //Turn Skype status into a String label1.Text = getStatusString(myStatus); //Setup system tray icon (making the app able to run in the background) and not on the task bar notifyIcon = new System.Windows.Forms.NotifyIcon(); notifyIcon.BalloonTipText = "located in system tray"; notifyIcon.BalloonTipTitle = "Skype Status Monitor for Raspberry Pi"; notifyIcon.Text = "Skype Status Monitor for Raspberry Pi"; notifyIcon.Icon = SkypeMonitor.Properties.Resources.MyIcon; notifyIcon.Click += new EventHandler(HandlerToMaximiseOnClick); if (notifyIcon != null) { notifyIcon.Visible = true; notifyIcon.ShowBalloonTip(2000); } //Minimize the app to the system tray (running in the background to be less obtrusive to user) this.WindowState = FormWindowState.Minimized; //setup local area network Rest Service //retrieve the local IP addresses to bind the HttpService to ArrayList myIps = new ArrayList(); IPHostEntry host; host = Dns.GetHostEntry(Dns.GetHostName()); foreach (IPAddress ip in host.AddressList) { if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { myIps.Add(ip.ToString()); } } //Setup Http Server listener = new HttpListener(); listener.Prefixes.Add("http://localhost:" + localServerPort + "/"); listener.Prefixes.Add("http://127.0.0.1:" + localServerPort + "/"); foreach (String IP in myIps) { listener.Prefixes.Add("http://" + IP + ":" + localServerPort + "/"); } //No Authentication needed listener.AuthenticationSchemes = AuthenticationSchemes.Anonymous; //Spawn additional thread and run HttpService in that background thread continueThread = true; listener.Start(); this.listenThread1 = new Thread(new ParameterizedThreadStart(startlistener)); listenThread1.Start(); //setup closing method to dispose of thread properly this.Disposed += Form1_Disposed; }
/// <summary> /// オンラインステータスに変更があったときに発生するイベントを処理するイベントハンドラ /// </summary> /// <param name="pUser">オンラインステータスに変更があったユーザーの詳細データ</param> /// <param name="status">変更後のオンラインステータス</param> private void SkypeOnlineStatus(User pUser, TOnlineStatus status) { //オンラインとオフラインの状態が切り替わった際に //全アカウント分(?)くらいの通知が投げられてくるので //処理しないようにする if (IsOffline) { return; } _growl.RunNotificationOnlineStatus(pUser, status, GetUserAvatar(pUser.Handle)); }
//Event handler that fires when the Skype status changes. private void Skype_OnlineStatus(User pUser, TOnlineStatus Status) { //get the current status TOnlineStatus myStatus = skype.CurrentUser.OnlineStatus; //turn status into a string label1.Text = getStatusString(myStatus); //if the user is using the Azure deployed service, post updated status to Azure service if (checkBox1.Checked == true) { postStatusToAzure(); } }
private void AxxSkype01_OnlineStatus(User pUser, TOnlineStatus Status) { textBox2.Text = textBox2.Text + "\r\nOnline:" + pUser.Handle + " " + Status; }
private void SkypeOnlineStatus(User puser, TOnlineStatus status) { FireUserStatus(puser.GetUserInfo(), status.GetStatusValue(), puser.MoodText); }
private static string GetStatusText(TOnlineStatus s) { return Regex.Replace(s.ToString().Substring(3), "([a-z])([A-Z])", "$1 $2").ToLowerInvariant(); }
private void Skype_OnlineStatus(User user, TOnlineStatus status) { this.Logger.Debug(System.Reflection.MethodBase.GetCurrentMethod().Name); }
public void OurOnlineStatus(User user, TOnlineStatus status) { // Always use try/catch with ANY Skype calls. try { // Write Online Status to Window. AddTextToTextBox1(DateTime.Now.ToLocalTime() + ": " + "Online Status - User FullName: " + user.FullName + " - User DisplayName: " + user.DisplayName + " - User Handle: " + user.Handle + " - Converted TOnlineStatus Status: " + skype.Convert.OnlineStatusToText(status) + " - TOnlineStatus Status: " + status + "\r\n"); } catch (Exception e) { // Possibly old Skype4COM version, log an error, drop into debug if wanted. AddTextToTextBox1(DateTime.Now.ToLocalTime() + ": " + "Online Status Event Fired - Bad Text" + " - Exception Source: " + e.Source + " - Exception Message: " + e.Message + "\r\n"); // If the "Use Auto Debug" check box is checked and we are in debug, drop into debug here when retry, otherwise, prompt for action. Debug.Assert(!this.UseAutoDebug.Checked); } }