public bool AddRadioTelescopeController(RadioTelescopeController rtController) { if (ControlRoom.RadioTelescopes.Contains(rtController.RadioTelescope)) { return(false); } ControlRoom.RTControllerManagementThreads.Add(new RadioTelescopeControllerManagementThread(rtController)); return(true); }
public bool AddRadioTelescopeControllerAndStart(RadioTelescopeController rtController) { if (AddRadioTelescopeController(rtController)) { return(ControlRoom.RTControllerManagementThreads[ControlRoom.RTControllerManagementThreads.Count - 1].Start()); } else { return(false); } }
public RadioTelescopeControllerManagementThread(RadioTelescopeController controller) { RTController = controller; ManagementThread = new Thread(new ThreadStart(SpinRoutine)) { Name = "RTControllerManagementThread (ID=" + RadioTelescopeID.ToString() + ")" }; ManagementMutex = new Mutex(); KeepThreadAlive = false; _NextObjectiveOrientation = null; InterruptAppointmentFlag = false; }
public bool RemoveRadioTelescopeController(RadioTelescopeController rtController, bool waitForAnyTasks) { return(RemoveRadioTelescopeControllerAt(ControlRoom.RadioTelescopeControllers.IndexOf(rtController), waitForAnyTasks)); }