Beispiel #1
0
        public async Task MainAsync(string[] args)
        {
            //Initialize a new SocketClient
            _client = new DiscordSocketClient();
            //Initialize a new ErrorHandler and direct errors direct to the handler
            _errorHandler = new ErrorHandler();
            _client.Log  += _errorHandler._client_Log;
            //Set Listeners
            _listenerHandler = new ListenerHandler();
            SetListeners();
            //Initialize the CommandHandler
            await InstallCommandHandlerAnsyc();

            //Initialize the Database
            await LoadDatabase();

            //Launch the bot
            await _client.LoginAsync(TokenType.Bot, token);

            await _client.StartAsync();

            //Creates the ConsoleAsync for ConsoleCommands
            await ConsoleAsync();

            //Block this task until the program is closed
            await Task.Delay(-1);

            ReadInput();
        }
Beispiel #2
0
 /// <summary>
 /// Stops the task in which the Listener is executing and remove it's instance, until the user starts the service again
 /// </summary>
 public void Stop()
 {
     if (ListenerHandler != null)
     {
         ListenerHandler.Stop();
     }
 }
Beispiel #3
0
        public void Ensures_Diagnostic_Given_Null()
        {
            using (var client = new SoulseekClient(options: null))
            {
                ListenerHandler l = default;

                var ex = Record.Exception(() => l = new ListenerHandler(client));

                Assert.Null(ex);
                Assert.NotNull(l.GetProperty <IDiagnosticFactory>("Diagnostic"));
            }
        }
Beispiel #4
0
        private (ListenerHandler Handler, Mocks Mocks) GetFixture(IPEndPoint endpoint, SoulseekClientOptions clientOptions = null)
        {
            var mocks = new Mocks(clientOptions);

            mocks.Connection.Setup(m => m.IPEndPoint).Returns(endpoint);

            var handler = new ListenerHandler(
                mocks.Client.Object,
                mocks.Diagnostic.Object);

            return(handler, mocks);
        }
Beispiel #5
0
        private (ListenerHandler Handler, Mocks Mocks) GetFixture(IPAddress ip, ClientOptions clientOptions = null)
        {
            var mocks = new Mocks(clientOptions);

            mocks.Connection.Setup(m => m.IPAddress).Returns(ip);

            var handler = new ListenerHandler(
                mocks.Client.Object,
                mocks.Diagnostic.Object);

            return(handler, mocks);
        }
        public void SubscribeSnapshot(CloudDBZoneQuery cloudDBZoneQuery, CloudDBZoneQuery.CloudDBZoneQueryPolicy cloudDBZoneQueryPolicy)
        {
            if (mCloudDBZone == null)
            {
                Debug.LogError($"[{TAG}]: CloudDBZone is null, try re-open it");
                return;
            }


            mRegister = mCloudDBZone.SubscribeSnapshot(cloudDBZoneQuery, cloudDBZoneQueryPolicy, OnCloudDBZoneSnapshot, OnCloudDBZoneSnapshotException);
            Debug.Log($"[{TAG}]: SubscribeSnaphot()");
        }
Beispiel #7
0
        public void Does_Not_Throw_Raising_DiagnosticGenerated_If_No_Handlers_Bound(string message)
        {
            using (var client = new SoulseekClient(options: null))
            {
                ListenerHandler l = new ListenerHandler(client);

                var diagnostic = l.GetProperty <IDiagnosticFactory>("Diagnostic");

                var ex = Record.Exception(() => diagnostic.Info(message));

                Assert.Null(ex);
            }
        }
Beispiel #8
0
        public void Raises_DiagnosticGenerated_On_Diagnostic(string message)
        {
            using (var client = new SoulseekClient(options: null))
            {
                DiagnosticEventArgs args = default;

                ListenerHandler l = new ListenerHandler(client);
                l.DiagnosticGenerated += (sender, e) => args = e;

                var diagnostic = l.GetProperty <IDiagnosticFactory>("Diagnostic");
                diagnostic.Info(message);

                Assert.Equal(message, args.Message);
            }
        }
 public void addSubscription()
 {
     if (mCloudDBZone == null)
     {
         TestTip.Inst.ShowText("CloudDBZone is null, try re-open it");
         return;
     }
     try {
         CloudDBZoneQuery snapshotQuery = CloudDBZoneQuery.where (new AndroidJavaClass(bookInfoClass))
                                          .equalTo("shadowFlag", true);
         mRegister = mCloudDBZone.subscribeSnapshot(snapshotQuery,
                                                    CloudDBZoneQuery.CloudDBZoneQueryPolicy.POLICY_QUERY_FROM_CLOUD_ONLY, mSnapshotListener);
         TestTip.Inst.ShowText("Add subscription success");
     } catch (System.Exception e) {
         TestTip.Inst.ShowText("subscribeSnapshot: " + e.Message);
     }
 }
Beispiel #10
0
 public void SubscribeSnapshot()
 {
     if (mCloudDBZone == null)
     {
         ShowResultPopup("Please open CloudDBZone first!");
         return;
     }
     try
     {
         CloudDBZoneQuery snapshotQuery = CloudDBZoneQuery
                                          .Where(Java.Lang.Class.ForName("com.company.project.BookInfo"))
                                          .EqualTo(BookEditFields.ShadowFlag, true);
         mRegister = mCloudDBZone.SubscribeSnapshot(snapshotQuery,
                                                    CloudDBZoneQuery.CloudDBZoneQueryPolicy.PolicyQueryFromCloudOnly, this);
         ShowResultPopup("SubscribeSnapshot executed successfully.");
     }
     catch (Exception e)
     {
         ShowResultPopup("subscribeSnapshot failed: " + e.Message);
     }
 }
        private void BeamChangingForm_Load(object sender, EventArgs e)
        {
            ListenerHandler toNomalDataViewHandler
                = new ListenerHandler(_uidoc, ToNormalDataGridView, ToNormalDataTable);

            ListenerHandler toGroundBeamDataViewHandler
                = new ListenerHandler(_uidoc, ToGroundBeamDataGridView, ToGroundBeamDataTable);

            if (toNormalDataView.Rows.Count == 0)
            {
                ((System.Windows.Forms.Control)toN_TabPage).Enabled = false;
                toN_ApplyButton.Enabled = false;
            }

            if (toGroundBeamDataView.Rows.Count == 0)
            {
                ((System.Windows.Forms.Control)toGB_TabPage).Enabled = false;
                toGB_ApplyButton.Enabled = false;
            }

            toN_TabPage.Text  = NOMAL_TAB_NAME + $"({ToNormalDataGridView.Rows.Count})";
            toGB_TabPage.Text = GROUND_BEAM_TAB_NAME + $"({ToGroundBeamDataGridView.Rows.Count})";
            wall_tabPage.Text = WALL_TAB_NAME + $"({UnsupportedWallDataGridView.Rows.Count})";
        }
Beispiel #12
0
        } // W_Main_Load

        /// <summary>
        /// 单击开始监听按钮
        /// </summary>
        /// <param name="sender">the sender</param>
        /// <param name="e">the e</param>
        private void btn_startListen_Click(object sender, EventArgs e)
        {
            //服务器已经其中监听,则返回
            if (IsStart)
            {
                return;
            }

            //启动侦听
            listener = ListenerHandler.GetListener();
            listener.Start(10);
            IsStart = true;
            lstBox_statu.Invoke(appendString, string.Format("服务器已经自动侦听!端点为{0}",
                                                            listener.LocalEndpoint.ToString()),
                                lstBox_statu);
            this.btn_startListen.Enabled = false;

            // 初始化要传入的数据
            AcceptCallBackParam acceptCallBackParam = new AcceptCallBackParam(listener, IsStart, lstBox_statu);

            AsyncCallback callBack = new AsyncCallback(CallBackFunc.acceptCallBack);

            listener.BeginAcceptSocket(callBack, acceptCallBackParam);
        } // btn_startListen_Click
Beispiel #13
0
 public DiagnosticSourceListener(ListenerHandler handler)
 {
     _handler = handler ?? throw new ArgumentNullException(nameof(handler));
 }