/// <summary>
        /// Instructs LIT to listen for incoming connections. By default, LIT will not
        /// listen. If LIT was already listening for incoming connections, this method
        /// will just complete.
        /// </summary>
        /// <param name="port">The port number to listen on (default: 2448)</param>
        public async Task Listen(int port = 2448)
        {
            var args = new ListenArgs()
            {
                Port = string.Format(":{0}", port)
            };
            Task <ListeningPortsReply> task;

            try
            {
                await Call <ListenArgs, ListeningPortsReply>("LitRPC.Listen", args);

                _listeningStatus = ListeningStatus.Listening;
            } catch (Exception ex) {
                // check if it is "already listening" error, then ignore.
                if (ex.Message.Contains("already in use"))
                {
                    _listeningStatus = ListeningStatus.Listening;
                }
                else
                {
                    throw ex;
                }
            }
        }
Beispiel #2
0
 public void StartRecord()
 {
     ShortcutDisplay.Text = "Recording";
     SetShortcutBtn.Text  = "Done";
     ListenStatus         = ListeningStatus.RECORDING;
     RecordingCombinationAlpha.Clear();
     RecordingCombinationBeta.Clear();
 }
        /// <summary>
        /// Checks if LIT is currently listening on any port.
        /// </summary>
        /// <returns>true when listening, false when not</returns>
        public async Task <bool> IsListening()
        {
            if (_listeningStatus != ListeningStatus.Unknown)
            {
                return(_listeningStatus == ListeningStatus.Listening);
            }
            var reply = await Call <NoArgs, ListeningPortsReply>("LitRPC.GetListeningPorts", new NoArgs());

            _listeningStatus = (reply.LisIpPorts == null) ? ListeningStatus.NotListening : ListeningStatus.Listening;
            return(_listeningStatus == ListeningStatus.Listening);
        }
Beispiel #4
0
        public void StopRecord()
        {
            SetShortcutBtn.Text = "Edit";
            ListenStatus        = ListeningStatus.RUNNING;

            if (RecordingCombinationBeta.Count != 0)
            {
                TargetCombination.Clear();
                foreach (Keys k in RecordingCombinationBeta)
                {
                    TargetCombination.Add(k);
                }
            }
            else
            {
                foreach (Keys k in TargetCombination)
                {
                    RecordingCombinationBeta.Add(k);
                }
            }

            ShortcutDisplay.Text    = API.GetKeyCombinationBreif(TargetCombination);
            Reg.ShortcutCombination = TargetCombination;
        }
Beispiel #5
0
 public void ListeningStatusChange(ListeningStatus status)
 {
     _listeningStatusChanged(_logger, status, null);
 }