Ejemplo n.º 1
0
        /// <summary>
        /// Try connect to the current lync instance
        /// </summary>
        private void ConnectToLync()
        {
            // Connect to Lync
            try
            {
                _lyncClient = LyncClient.GetClient();

                if (this.IsSignedIn)
                {
                    ConnnectedAction?.Invoke();
                    LastKnownStatus = ConnectionStatus.Connected;
                }

                // And when we ever disconnect, try to establish again
                _lyncClient.StateChanged -= ClientStateChangedEvent;
                _lyncClient.StateChanged += ClientStateChangedEvent;

                // Default binds
                // When a new convo starts
                _lyncClient.ConversationManager.ConversationAdded -= ConversationAddedHandler;
                _lyncClient.ConversationManager.ConversationAdded += ConversationAddedHandler;
            }
            catch (ClientNotFoundException ex)
            {
                if (LastKnownStatus == ConnectionStatus.Connected)
                {
                    DisconnectedAction?.Invoke();
                }
                else
                {
                    LastKnownStatus = ConnectionStatus.Disconnected;
                }
            }
        }
Ejemplo n.º 2
0
 private void ClientStateChangedEvent(object sender, ClientStateChangedEventArgs args)
 {
     if (args.OldState == ClientState.SignedIn && args.NewState != ClientState.SignedIn)
     {
         DisconnectedAction?.Invoke();
     }
     if (args.OldState != ClientState.SignedIn && args.NewState == ClientState.SignedIn)
     {
         ConnnectedAction?.Invoke();
     }
 }