protected virtual void OnStatusChanged(ConnectionStatus status, ConnectionStatusReason reason) { this.status = status; if (status == ConnectionStatus.Disconnected) { OnDisconnected(EventArgs.Empty); } }
private void OnAccountStatusChanged(McStatus status, McPresence presence, ConnectionStatusReason reason, string account_id) { Console.WriteLine(MSG_PREFIX + "OnAccountStatusChanged: status {0}, presence {1}, account {2}", status.ToString(), presence.ToString(), account_id); //System.Threading.Thread.Sleep (5000); for (long i = 0; i < 1000000000; i++) { } Console.WriteLine(MSG_PREFIX + "Done looping"); }
private void OnAccountStatusChanged(McStatus status, McPresence presence, ConnectionStatusReason reason, string account_id) { Console.WriteLine(MSG_PREFIX + "OnAccountStatusChanged: status {0}, presence {1}, reason {2}, " + "account_id {3}", status, presence, reason, account_id); }
public void OnConnectionStateChanged(ConnectionStatus status, ConnectionStatusReason reason) { Console.WriteLine(MSG_PREFIX + "Connection state changed, Status: {0}, Reason: {1}", status, reason); if (status == ConnectionStatus.Connected) { try { // show supported interfaces string[] interfaces; interfaces = iconn.GetInterfaces(); foreach (string s in interfaces) { Console.WriteLine(MSG_PREFIX + s); } string[] args = { "subscribe" }; uint[] handles; handles = iconn.RequestHandles(HandleType.List, args); ISimplePresence ipresence = bus.GetObject <ISimplePresence> (BusName, op); ipresence.PresencesChanged += OnPresencesChanged; // handle contacts changing status ObjectPath chann_op; chann_op = iconn.RequestChannel(Constants.CHANNEL_TYPE_CONTACTLIST, HandleType.List, handles[0], true); IGroup contact_list = bus.GetObject <IGroup> (BusName, chann_op); // use Group interface with Channel // get contacts uint[] contacts; //, local_pending, remote_pending; //contact_list.GetAllMembers(out contacts, out local_pending, out remote_pending); contacts = contact_list.Members; Console.WriteLine(MSG_PREFIX + "Got {0} Contacts!", contacts.Length); string[] members_str; members_str = iconn.InspectHandles(HandleType.Contact, contacts); // get status information for contacts IDictionary <uint, SimplePresence> dic = new Dictionary <uint, SimplePresence>(); dic = ipresence.GetPresences(contacts); for (int i = 0; i < contacts.Length; i++) { if (dic.ContainsKey(contacts[i])) { Console.WriteLine(MSG_PREFIX + "Member: " + members_str[i]); Console.WriteLine(MSG_PREFIX + "Presences Key: " + contacts[i].ToString()); Console.WriteLine(MSG_PREFIX + "Presences Status: " + dic[contacts[i]].Status); if (members_str[i].Equals(ACCOUNT_BANSHEE_TEST2) && !dic[contacts[i]].Status.Equals("offine")) { myhandle = contacts[i]; // remember hardcoded handle so we can message later } } } } catch (Exception e) { Console.WriteLine(MSG_PREFIX + e); } Timer timer = new Timer(); timer.Interval = 10000; // delay logoff by 10 seconds timer.Elapsed += new ElapsedEventHandler(Disconnect); timer.Start(); } if (status == ConnectionStatus.Disconnected) { running = false; } }
private void OnAccountStatusChanged(McStatus status, McPresence presence, ConnectionStatusReason reason, string account_id) { Console.WriteLine (MSG_PREFIX + "OnAccountStatusChanged: status {0}, presence {1}, reason {2}, " + "account_id {3}", status, presence, reason, account_id); }