public PrivateMessageTab(string tabName, string initialMessage, bool isOurMessage, string ourCallsign, IEventBroker eventBroker, IFsdManger networkManager) { tabIdentifier = tabName; Name = tabName; Text = tabName; BackColor = Color.FromArgb(20, 22, 24); ForeColor = Color.Cyan; mChatBox = new ChatBox { Dock = DockStyle.Fill }; Controls.Add(mChatBox); mChatBox.TextCommandLine.TextCommandReceived += PrivateMessageTab_TextCommandReceived; mNetworkManager = networkManager; mEventBroker = eventBroker; mEventBroker.Register(this); if (!string.IsNullOrEmpty(initialMessage)) { if (isOurMessage) { WriteMessage(Color.Cyan, $"{ ourCallsign }: { initialMessage }"); } else { WriteMessage(Color.White, $"{ tabIdentifier }: { initialMessage }"); PlaySoundRequested(this, new PlaySoundEventArgs(SoundEvent.NewMessage)); ForeColor = Color.Yellow; } } RequestRealName(this, new RealNameRequestedEventArgs(tabIdentifier)); }
public NetworkCredentials(ISetup host, IAppConfig config, IFsdManger network) : base(host, config) { InitializeComponent(); Host.SetTitle("Network Credentials"); mNetworkManager = network; LoadNetworkServers(); LoadSettings(); }
public ControllerManager(IEventBroker broker, IFsdManger fsdManager) : base(broker) { mFsdManager = fsdManager; mControllerUpdate = new System.Windows.Forms.Timer { Interval = 45000 }; mControllerUpdate.Tick += ControllerUpdateTick; }
public SetupGuide(IEventBroker eventBroker, IAppConfig config, IFsdManger network, IAfvManager afv) { InitializeComponent(); mConfig = config; mNetworkManager = network; mAfv = afv; mEventBroker = eventBroker; mEventBroker.Register(this); SwitchScreen("Welcome"); }
public NetworkAircraftManager(IEventBroker broker, IAppConfig config, IFsdManger fsdManager) : base(broker) { mConfig = config; mFsdManager = fsdManager; mCheckIdleAircraftTimer = new Timer { Interval = 500 }; mCheckIdleAircraftTimer.Tick += CheckIdleAircraftTimer_Tick; }
public SettingsForm(IAppConfig appConfig, IAfvManager audioForVatsim, IEventBroker eventBroker, IFsdManger networkManager, IUserInterface userInterface) { InitializeComponent(); mConfig = appConfig; mAfv = audioForVatsim; mNetworkManager = networkManager; mUserInterface = userInterface; mEventBroker = eventBroker; mEventBroker.Register(this); mDirectInput = new DirectInput(); mPttDevicePollTimer = new Timer { Interval = 50 }; mPttDevicePollTimer.Tick += PttDevicePollTimer_Tick; cbUpdateChannel.BindEnumToCombobox(UpdateChannel.Stable); vhfEqualizer.BindEnumToCombobox(EqualizerPresets.VHFEmulation2); if (mConfig.InputVolumeDb > 72) { mConfig.InputVolumeDb = 72; } if (mConfig.InputVolumeDb < -60) { mConfig.InputVolumeDb = -60; } if (mConfig.Com1Volume > 72) { mConfig.Com1Volume = 72; } if (mConfig.Com1Volume < -60) { mConfig.Com1Volume = -60; } if (mConfig.Com2Volume > 72) { mConfig.Com2Volume = 72; } if (mConfig.Com2Volume < -60) { mConfig.Com2Volume = -60; } GetAudioDevices(); LoadNetworkServers(); }
public AfvManager(IEventBroker broker, IAppConfig config, IFsdManger fsdManager) : base(broker) { mConfig = config; mFsdManager = fsdManager; mUpdateTransceiverTimer = new Timer { Interval = 20000 }; mUpdateTransceiverTimer.Tick += UpdateTransceiverTimer_Tick; mAfvUserClient = new UserClient(VOICE_SERVER_URL, ReceivingCallsignsChanged); mAfvUserClient.Connected += AfvUserClient_Connected; mAfvUserClient.Disconnected += AfvUserClient_Disconnected; mAfvUserClient.InputVolumeStream += AfvUserClient_InputVolumeStream; }
public SelcalGenerator(IEventBroker broker, IFsdManger fsdManager) : base(broker) { mFsdManager = fsdManager; mSelcalToneFrequencies = new Dictionary <string, float>() { { "A", 312.6f }, { "B", 346.7f }, { "C", 384.6f }, { "D", 426.6f }, { "E", 473.2f }, { "F", 524.8f }, { "G", 582.1f }, { "H", 645.7f }, { "J", 716.1f }, { "K", 794.3f }, { "L", 881.0f }, { "M", 977.2f }, { "P", 1083.9f }, { "Q", 1202.3f }, { "R", 1333.5f }, { "S", 1479.1f }, }; }
public UserAircraftManager(IEventBroker broker, IAppConfig config, IFsdManger fsdManager) : base(broker) { mConfig = config; mFsdManager = fsdManager; InitializeTimers(); }
public XplaneConnectionManager(IEventBroker broker, IAppConfig config, IFsdManger fsdManager) : base(broker) { DealerSocket visualDealerSocket = null; mVisualDealerSockets = null; mConfig = config; mFsdManager = fsdManager; if (mConfig.VisualClientIPs.Count > 0) { foreach (string mIP in mConfig.VisualClientIPs) { visualDealerSocket = new DealerSocket(); visualDealerSocket.Options.Identity = Encoding.UTF8.GetBytes("CLIENT"); visualDealerSocket.Options.TcpKeepalive = true; try { visualDealerSocket.Connect("tcp://" + mIP + ":" + mConfig.TcpPort); if (mVisualDealerSockets == null) { mVisualDealerSockets = new List <DealerSocket>(); } mVisualDealerSockets.Add(visualDealerSocket); } catch (AddressAlreadyInUseException) { NotificationPosted?.Invoke(this, new NotificationPostedEventArgs(NotificationType.Error, "Plugin port already in use. Please choose a different TCP port.")); } } } if (!string.IsNullOrEmpty(mConfig.SimClientIP)) { mSimulatorIP = mConfig.SimClientIP; } mMessageQueue = new NetMQQueue <string>(); mDealerSocket = new DealerSocket(); mDealerSocket.Options.TcpKeepalive = true; mDealerSocket.Options.Identity = Encoding.UTF8.GetBytes("CLIENT"); mDealerSocket.ReceiveReady += DealerSocket_ReceiveReady; try { mDealerSocket.Connect("tcp://" + mSimulatorIP + ":" + mConfig.TcpPort); } catch (AddressAlreadyInUseException) { NotificationPosted?.Invoke(this, new NotificationPostedEventArgs(NotificationType.Error, "Plugin port already in use. Please choose a different TCP port.")); } mPoller = new NetMQPoller { mDealerSocket, mMessageQueue }; if (!mPoller.IsRunning) { mPoller.RunAsync(); } mMessageQueue.ReceiveReady += (s, e) => { if (mMessageQueue.TryDequeue(out string msg, TimeSpan.FromMilliseconds(100))) { if (mDealerSocket != null) { mDealerSocket.SendFrame(msg); } if (mVisualDealerSockets != null && mVisualDealerSockets.Count > 0) { foreach (DealerSocket socket in mVisualDealerSockets) { socket.SendFrame(msg); } } } }; mXplaneConnector = new XPlaneConnector.XPlaneConnector(mSimulatorIP); mUserAircraftData = new UserAircraftData(); mRadioStackState = new UserAircraftRadioStack(); mGetXplaneDataTimer = new Timer { Interval = 10 }; mGetXplaneDataTimer.Tick += GetXplaneDataTimer_Tick; mGetXplaneDataTimer.Start(); mConnectionTimer = new Timer { Interval = 50 }; mConnectionTimer.Tick += ConnectionTimer_Tick; mConnectionTimer.Start(); mRetryConnectionTimer = new Timer { Interval = 1000 }; mRetryConnectionTimer.Tick += RetryConnectionTimer_Tick; mRetryConnectionTimer.Start(); mWhosOnlineListRefresh = new Timer { Interval = 5000 }; mWhosOnlineListRefresh.Tick += WhosOnlineListRefresh_Tick; SetupSubscribers(); if (!Directory.Exists(Path.Combine(mConfig.AppPath, "PluginLogs"))) { Directory.CreateDirectory(Path.Combine(mConfig.AppPath, "PluginLogs")); } var directory = new DirectoryInfo(Path.Combine(mConfig.AppPath, "PluginLogs")); var query = directory.GetFiles("*", SearchOption.AllDirectories); foreach (var file in query.OrderByDescending(file => file.CreationTime).Skip(10)) { file.Delete(); } mRawDataStream = new StreamWriter(Path.Combine(mConfig.AppPath, string.Format($"PluginLogs/PluginLog-{DateTime.UtcNow:yyyyMMddHHmmss}.log")), false); }