コード例 #1
0
        public MainWindow()
        {
            var  config = new ButtplugConfig("B******g");
            uint ping   = 0;

            // As long as the server is websocket only, we can depend on websocket ping as an
            // application keepalive. Once we support both IPC and WebSocket, we should implement
            // required ping for IPC.

            // uint.TryParse(config.GetValue("b******g.server.maxPing", "1000"), out ping);

            InitializeComponent();

            long logLimit = 1000;

            if (long.TryParse(config.GetValue("b******g.log.max", "1000"), out long res))
            {
                logLimit = res;
            }

            ButtplugTab.GetLogControl().MaxLogs = logLimit;

            ButtplugTab.SetServerDetails("Websocket Server", ping);
            _wsTab = new ServerControl(ButtplugTab);
            ButtplugTab.SetApplicationTab("Websocket Server", _wsTab);

            ButtplugTab.GetAboutControl().CheckUpdate(config, "b******g-csharp");
            Closing += ClosingHandler;
            _wsTab.StartServer();
        }
コード例 #2
0
        public MainWindow()
        {
            InitializeComponent();
            if (Application.Current == null)
            {
                return;
            }
            ButtplugTab.GetLogControl().MaxLogs = 10000;

            ButtplugTab.SetServerDetails("Game Vibration Router Server", 0);
            _bpServer = ButtplugTab.GetServer();
            _log      = LogManager.GetCurrentClassLogger();
            ButtplugGameVibrationRouterInterface.VibrationCommandReceived     += OnVibrationCommand;
            ButtplugGameVibrationRouterInterface.VibrationPingMessageReceived += OnVibrationPingMessage;
            ButtplugGameVibrationRouterInterface.VibrationExceptionReceived   += OnVibrationException;
            ButtplugGameVibrationRouterInterface.VibrationExitReceived        += OnVibrationExit;
            Task.FromResult(_bpServer.SendMessage(new RequestServerInfo("B******g Game Vibration Router")));
            _processTab = new ProcessTab();
            _processTab.ProcessAttachRequested += OnAttachRequested;
            _processTab.ProcessDetachRequested += OnDetachRequested;
            ButtplugTab.SetApplicationTab("Processes", _processTab);
            ButtplugTab.AddDevicePanel(_bpServer);
            ButtplugTab.SelectedDevicesChanged += OnSelectedDevicesChanged;

            var config = new ButtplugConfig("B******g");

            ButtplugTab.GetAboutControl().CheckUpdate(config, "b******g-csharp");
        }
コード例 #3
0
        public MainWindow()
        {
            InitializeComponent();
            if (Application.Current == null)
            {
                return;
            }

            ButtplugTab.SetServerDetails("Kiiroo Emulator", 0);
            _bpServer = ButtplugTab.GetServer();
            _bpServer.SendMessage(new RequestServerInfo("Kiiroo Emulator")).Wait();
            InitializeComponent();
            _kiirooEmulator = new KiirooPlatformEmulator();
            _kiirooEmulator.OnKiirooPlatformEvent += HandleKiirooPlatformMessage;
            _kiirooEmulator.OnException           += HandleKiirooPlatformMessage;
            _translator = new KiirooMessageTranslator();
            _translator.VibrateEvent += OnVibrateEvent;
            _ops = new List <DispatcherOperation>();
            var emu = new KiirooEmulatorPanel();

            ButtplugTab.AddDevicePanel(_bpServer);
            ButtplugTab.SetApplicationTab("Kiiroo Emulator", emu);
            Closing += ClosingHandler;
            StartServer();
            emu.ServerStatusChanged            += OnServerStatusChanged;
            ButtplugTab.SelectedDevicesChanged += SelectionChangedHandler;

            var config = new ButtplugConfig("B******g");

            ButtplugTab.GetAboutControl().CheckUpdate(config, "b******g-csharp");
        }
コード例 #4
0
        public ServerControl(Func <ButtplugServer> aFactory)
        {
            InitializeComponent();
            _logManager = new ButtplugLogManager();
            _log        = _logManager.GetLogger(GetType());
            _ws         = new ButtplugWebsocketServer();
            _bpFactory  = aFactory;
            _config     = new ButtplugConfig("B******g");
            _connUrls   = new ConnUrlList();
            _port       = 12345;

            // Usually, if we throw errors then connect, it's not actually an error. If we don't
            // connect after a second of throwing an exception, pop the toaster, but not before then.
            _toastTimer = new Timer
            {
                Interval  = 1000,
                AutoReset = false,
                Enabled   = false,
            };
            _toastTimer.Elapsed += PopToaster;

            if (uint.TryParse(_config.GetValue("b******g.server.port", "12345"), out uint pres))
            {
                _port = pres;
            }

            _secure = true;
            if (bool.TryParse(_config.GetValue("b******g.server.secure", "true"), out bool sres))
            {
                _secure = sres;
            }

            _loopback = true;
            if (bool.TryParse(_config.GetValue("b******g.server.loopbackOnly", "true"), out bool lres))
            {
                _loopback = lres;
            }

            _hostname = _config.GetValue("b******g.server.hostname", "localhost");

            PortTextBox.Text           = _port.ToString();
            SecureCheckBox.IsChecked   = _secure;
            LoopbackCheckBox.IsChecked = _loopback;

            ConnectionUrl.ItemsSource = _connUrls;

            _ws.OnException        += WebSocketExceptionHandler;
            _ws.ConnectionAccepted += WebSocketConnectionAccepted;
            _ws.ConnectionUpdated  += WebSocketConnectionAccepted;
            _ws.ConnectionClosed   += WebSocketConnectionClosed;

            _log.OnLogException += ExceptionLogged;
        }
コード例 #5
0
        public MainWindow()
        {
            InitializeComponent();
            if (Application.Current == null)
            {
                return;
            }
            ButtplugTab.GetLogControl().MaxLogs = 10000;

            ButtplugTab.SetServerDetails("Game Vibration Router Server", 0);
            _bpServer = ButtplugTab.GetServer();
            _log      = LogManager.GetCurrentClassLogger();
            ButtplugGameVibrationRouterInterface.VibrationCommandReceived     += OnVibrationCommand;
            ButtplugGameVibrationRouterInterface.VibrationPingMessageReceived += OnVibrationPingMessage;
            ButtplugGameVibrationRouterInterface.VibrationExceptionReceived   += OnVibrationException;
            ButtplugGameVibrationRouterInterface.VibrationExitReceived        += OnVibrationExit;
            Task.FromResult(_bpServer.SendMessage(new RequestServerInfo("B******g Game Vibration Router")));
            _graphTab = new VibeGraphTab();
            ButtplugTab.SetOtherTab("Vibes", _graphTab);
            _processTab = new ProcessTab();
            _processTab.ProcessAttachRequested += OnAttachRequested;
            _processTab.ProcessDetachRequested += OnDetachRequested;
            ButtplugTab.SetApplicationTab("Processes", _processTab);
            ButtplugTab.AddDevicePanel(_bpServer);
            ButtplugTab.SelectedDevicesChanged += OnSelectedDevicesChanged;

            _graphTab.MultiplierChanged += MultiplierChanged;
            _graphTab.BaselineChanged   += BaselineChanged;
            _graphTab.PassthruChanged   += PassthruChanged;

            var config = new ButtplugConfig("B******g");

            ButtplugTab.GetAboutControl().CheckUpdate(config, "b******g-csharp");

            runTimer = new Timer {
                Interval = 100, AutoReset = true
            };
            runTimer.Elapsed += AddPoint;

            commandTimer = new Timer {
                Interval = 50, AutoReset = true
            };
            commandTimer.Elapsed += OnVibrationTimer;

            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12;
        }