コード例 #1
0
        /// <summary>
        /// Adds an event to the session. Will be handled by the session viewer.
        /// </summary>
        /// <param name="sender">The listener that 'found' the event.</param>
        /// <param name="data">The text to display.</param>
        public virtual void AddEvent(ListenerBase sender, string data)
        {
            if (_log.Enabled)
            {
                _log.Debug(GetHashCode(), "AddEvent(Ilistener, string)");
            }
            WriteToLogFile(data);
            string msg;

            try
            {
                if (sender.ShowTimestamp)
                {
                    msg = getListenerPrefix(sender) + DateTime.Now.ToString(sender.TimestampFormat) + " - " + data;
                    _viewer.AddEvent(msg, sender);
                }
                else
                {
                    msg = getListenerPrefix(sender) + data;
                    _viewer.AddEvent(msg, sender);
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.HandleException(GetHashCode(), ex);
            }
        }
コード例 #2
0
        /// <summary>
        /// Adds an event to the session. Will be handled by the session viewer.
        /// </summary>
        /// <param name="listenerBase">The listener that 'found' the event.</param>
        /// <param name="lines">The text to display.</param>
        public virtual void AddEvent(ListenerBase listenerBase, List <string> lines)
        {
            try
            {
                if (listenerBase.ShowTimestamp)
                {
                    var lst = new List <string>();
                    foreach (var line in lines)
                    {
                        WriteToLogFile(line);
                        lst.Add(DateTime.Now.ToString(listenerBase.TimestampFormat) + " - " + line);
                    }
                    _viewer.AddEvent(getListenerPrefix(listenerBase), lst, listenerBase);
                }
                else
                {
                    foreach (var line in lines)
                    {
                        WriteToLogFile(line);
                    }

                    _viewer.AddEvent(getListenerPrefix(listenerBase), lines, listenerBase);
                }
            }
            catch (Exception ex)
            {
                throw ExceptionManager.HandleException(GetHashCode(), ex);
            }
        }
コード例 #3
0
ファイル: Tracker.cs プロジェクト: mattbab/OctoTorrent
        public bool IsRegistered(ListenerBase listener)
        {
            CheckDisposed();
            if (listener == null)
            {
                throw new ArgumentNullException("listener");
            }

            return(listener.Tracker == this);
        }
コード例 #4
0
        private string getListenerPrefix(ListenerBase sender)
        {
            var prefix = "";

            if (_viewer.ShowListenerPrefix)
            {
                prefix = sender.MessagePrefix + " - ";
            }
            return(prefix);
        }
コード例 #5
0
        public TrackerApp()
        {
            ListenerBase listener = new HttpListener("http://+:25456/announce/");
            var          tracker  = new Tracker();

            tracker.AllowUnregisteredTorrents = true;
            tracker.RegisterListener(listener);
            tracker.AllowScrape = false;
            _listener           = listener;
            _tracker            = tracker;
        }
コード例 #6
0
ファイル: textViewer.cs プロジェクト: idstam/logview4net
 /// <summary>
 ///     Adds a list of events to this viewer
 /// </summary>
 public void AddEvent(string prefix, List <string> lines, ListenerBase listenerBase)
 {
     if (InvokeRequired)
     {
         var a = new AddEventsAsync(InvokedAddEvents);
         Invoke(a, new object[] { prefix, lines });
     }
     else
     {
         InvokedAddEvents(prefix, lines);
     }
 }
コード例 #7
0
        public void StopsListeningWhenDisposeIsCalled()
        {
            var log      = new MemoryTrace();
            var listener = new ListenerBase(new IpEndpoint(IpAddress.AnyAddress, 3333), log);

            Assert.Equal(0, log.Count);
            listener.Start();
            Assert.True(Wait.UntilTrue(
                            () => log.GetTrace().Contains(MessageLoop <ListenerBase> .StartingLoopMessage)), log.ToString());
            listener.Dispose();
            Assert.True(Wait.UntilTrue(
                            () => log.GetTrace().Contains(MessageLoop <ListenerBase> .StoppingLoopMessage)), log.ToString());
        }
コード例 #8
0
        public void Initialize()
        {
            var interval = 300;

            if (!EventLog.Exists(_logName, "."))
            {
                EventLog.CreateEventSource(new EventSourceCreationData(_source, _logName));
            }
            _eventLog = new EventLog(_logName, ".");
            _eventLog.Clear();
            _viewer       = new MockViewer();
            _listenerBase = new EventLogListenerMonitor(".", _logName, interval, true);
            _session      = new Session(_listenerBase, _viewer);
        }
コード例 #9
0
ファイル: textViewer.cs プロジェクト: idstam/logview4net
        /// <summary>
        ///     Adds an event to show
        /// </summary>
        /// <param name="message">The message to show.</param>
        /// <param name="listener">The listener that received the data</param>
        public void AddEvent(string message, ListenerBase listener)
        {
            string structure = listener.IsStructured ? listener.GetConfigValue("structured") : "n/a";
            var    le        = new LogEvent(message, _actions, true, structure);

            try
            {
                AddEvent(le);
            }
            catch (Exception ex)
            {
                throw ExceptionManager.HandleException(GetHashCode(), ex);
            }
        }
コード例 #10
0
ファイル: Tracker.cs プロジェクト: mattbab/OctoTorrent
        public void UnregisterListener(ListenerBase listener)
        {
            CheckDisposed();
            if (listener == null)
            {
                throw new ArgumentNullException("listener");
            }

            if (listener.Tracker != this)
            {
                throw new TorrentException("The listener is not registered with this tracker");
            }

            listener.Tracker           = null;
            listener.AnnounceReceived -= new EventHandler <AnnounceParameters>(ListenerReceivedAnnounce);
            listener.ScrapeReceived   -= new EventHandler <ScrapeParameters>(ListenerReceivedScrape);
        }
コード例 #11
0
ファイル: Tracker.cs プロジェクト: mattbab/OctoTorrent
        public void RegisterListener(ListenerBase listener)
        {
            CheckDisposed();
            if (listener == null)
            {
                throw new ArgumentNullException("listener");
            }

            if (listener.Tracker != null)
            {
                throw new TorrentException("The listener is registered to a different Tracker");
            }

            listener.Tracker           = this;
            listener.AnnounceReceived += new EventHandler <AnnounceParameters>(ListenerReceivedAnnounce);
            listener.ScrapeReceived   += new EventHandler <ScrapeParameters>(ListenerReceivedScrape);
        }
コード例 #12
0
        /// <summary>
        /// Removes the specific listener from the listener list.
        /// </summary>
        /// <param name="listenerBase">Listener.</param>
        public void RemoveListener(ListenerBase listenerBase)
        {
            ListenerBase foo = null;

            foreach (var l in _listeners)
            {
                if (l.Hash == listenerBase.Hash)
                {
                    foo = l;
                }
            }

            _listeners.Remove(foo);

            if (listenerBase != null)
            {
                listenerBase.Dispose();
            }
        }
コード例 #13
0
        /// <summary>
        /// Adds an event to this viewer
        /// </summary>
        /// <param name="message">Message.</param>
        public void AddEvent(string message, ListenerBase listener)
        {
            _log.Debug(GetHashCode(), message);

            ReceivedData.Add(message);
        }
コード例 #14
0
ファイル: SttGrpc.cs プロジェクト: widdiot/API-service
 /// <summary>Register service method with a service binder with or without implementation. Useful when customizing the  service binding logic.
 /// Note: this method is part of an experimental API that can change or be removed without any prior notice.</summary>
 /// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param>
 /// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
 public static void BindService(grpc::ServiceBinderBase serviceBinder, ListenerBase serviceImpl)
 {
     serviceBinder.AddMethod(__Method_DoSpeechToText, serviceImpl == null ? null : new grpc::DuplexStreamingServerMethod <global::SpeechToText.SpeechChunk, global::SpeechToText.TranscriptChunk>(serviceImpl.DoSpeechToText));
 }
コード例 #15
0
ファイル: SttGrpc.cs プロジェクト: widdiot/API-service
 /// <summary>Creates service definition that can be registered with a server</summary>
 /// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
 public static grpc::ServerServiceDefinition BindService(ListenerBase serviceImpl)
 {
     return(grpc::ServerServiceDefinition.CreateBuilder()
            .AddMethod(__Method_DoSpeechToText, serviceImpl.DoSpeechToText).Build());
 }
コード例 #16
0
 public void DeRegister(ListenerBase <Data> listenerToDeregister)
 {
     listListeners.Remove(listenerToDeregister);
 }
コード例 #17
0
 public void Register(ListenerBase <Data> listenerToRegister)
 {
     listListeners.Add(listenerToRegister);
 }
コード例 #18
0
 /// <summary>
 /// Creates a new <see cref="SessionMonitor"/> instance.
 /// </summary>
 /// <param name="listenerBase">Listener.</param>
 /// <param name="viewer">Viewer.</param>
 public SessionMonitor(ListenerBase listenerBase, IViewer viewer) : base(listenerBase, viewer)
 {
 }
コード例 #19
0
 /// <summary>
 /// Creates a message formatter.
 /// </summary>
 /// <param name="message"></param>
 /// <param name="listener"></param>
 public StructuredMessageFormatter(string message, ListenerBase listener)
 {
     _message = message;
     _format  = listener.IsStructured ? listener.GetConfigValue("structured") : "n/a";
 }
コード例 #20
0
 /// <summary>
 /// Adds a list of events to this viewer
 /// </summary>
 public void AddEvent(string prefix, List <string> lines, ListenerBase listenerBase)
 {
     ReceivedData.AddRange(lines);
 }
コード例 #21
0
 /// <summary>
 /// Creates a new <see cref="Session"/> instance.
 /// </summary>
 /// <param name="listenerBase">A listener to be used by the session.</param>
 /// <param name="viewer">The viewer to be used by the session.</param>
 public Session(ListenerBase listenerBase, IViewer viewer)
 {
     _listeners.Add(listenerBase);
     _viewer = viewer;
 }
コード例 #22
0
 /// <summary>
 /// Adds a listener to this session..
 /// </summary>
 /// <param name="listenerBase">Listener.</param>
 public void AddListener(ListenerBase listenerBase)
 {
     listenerBase.Session = this;
     _listeners.Add(listenerBase);
 }