[wpilibc] Return reference from GetInstance (#3247)

Improves consistency across all classes.

Affects Preferences, LiveWindow, and CameraServer.

Old commands Scheduler::GetInstance() was not updated as this is already
deprecated.
This commit is contained in:
Peter Johnson
2021-03-21 11:13:49 -07:00
committed by GitHub
parent 9550777b9d
commit a79faace1b
18 changed files with 67 additions and 64 deletions

View File

@@ -203,19 +203,19 @@ Scheduler::Scheduler() : m_impl(new Impl) {
HAL_Report(HALUsageReporting::kResourceType_Command,
HALUsageReporting::kCommand_Scheduler);
SendableRegistry::GetInstance().AddLW(this, "Scheduler");
auto scheduler = frc::LiveWindow::GetInstance();
scheduler->enabled = [this] {
this->SetEnabled(false);
this->RemoveAll();
auto& scheduler = frc::LiveWindow::GetInstance();
scheduler.enabled = [this] {
SetEnabled(false);
RemoveAll();
};
scheduler->disabled = [this] { this->SetEnabled(true); };
scheduler.disabled = [this] { SetEnabled(true); };
}
Scheduler::~Scheduler() {
SendableRegistry::GetInstance().Remove(this);
auto scheduler = frc::LiveWindow::GetInstance();
scheduler->enabled = nullptr;
scheduler->disabled = nullptr;
auto& scheduler = frc::LiveWindow::GetInstance();
scheduler.enabled = nullptr;
scheduler.disabled = nullptr;
}
void Scheduler::Impl::Remove(Command* command) {