From c70e710caf3168f48569e15b6aa88759d434d86b Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Thu, 10 Dec 2015 21:54:31 -0800 Subject: [PATCH] Remove raw pointer deprecation warnings. See discussion in 2016 beta forums for rationale. Change-Id: I86a4c1bd61655f4895e2fe0e935f25dc8a89d830 --- wpilibc/Athena/include/AnalogAccelerometer.h | 5 ----- wpilibc/Athena/include/AnalogGyro.h | 3 --- wpilibc/Athena/include/AnalogPotentiometer.h | 5 ----- wpilibc/Athena/include/Counter.h | 20 +------------------ wpilibc/Athena/include/Encoder.h | 10 +--------- wpilibc/Athena/include/RobotDrive.h | 4 ---- wpilibc/Athena/include/Ultrasonic.h | 6 ------ wpilibc/Athena/src/AnalogAccelerometer.cpp | 5 ----- wpilibc/Athena/src/AnalogGyro.cpp | 3 --- wpilibc/Athena/src/AnalogPotentiometer.cpp | 5 ----- wpilibc/Athena/src/Counter.cpp | 19 +----------------- wpilibc/Athena/src/Encoder.cpp | 10 +--------- wpilibc/Athena/src/RobotDrive.cpp | 5 ----- wpilibc/Athena/src/Ultrasonic.cpp | 6 ------ wpilibc/shared/include/Base.h | 3 --- .../shared/include/LiveWindow/LiveWindow.h | 9 --------- 16 files changed, 4 insertions(+), 114 deletions(-) diff --git a/wpilibc/Athena/include/AnalogAccelerometer.h b/wpilibc/Athena/include/AnalogAccelerometer.h index dee50e19f8..ad6d6ddf63 100644 --- a/wpilibc/Athena/include/AnalogAccelerometer.h +++ b/wpilibc/Athena/include/AnalogAccelerometer.h @@ -26,11 +26,6 @@ class AnalogAccelerometer : public SensorBase, public LiveWindowSendable { public: explicit AnalogAccelerometer(int32_t channel); - DEPRECATED( - "Raw pointers are deprecated; if you just want to construct an " - "AnalogAccelerometer with its own AnalogInput, then call the " - "AnalogAccelerometer(int channel). If you want to keep your own copy of " - "the AnalogInput, use std::shared_ptr.") explicit AnalogAccelerometer(AnalogInput *channel); explicit AnalogAccelerometer(std::shared_ptr channel); virtual ~AnalogAccelerometer() = default; diff --git a/wpilibc/Athena/include/AnalogGyro.h b/wpilibc/Athena/include/AnalogGyro.h index a6b38fbd0f..4ce0ccb64e 100644 --- a/wpilibc/Athena/include/AnalogGyro.h +++ b/wpilibc/Athena/include/AnalogGyro.h @@ -37,9 +37,6 @@ class AnalogGyro : public GyroBase { static constexpr float kDefaultVoltsPerDegreePerSecond = 0.007; explicit AnalogGyro(int32_t channel); - DEPRECATED( - "Raw pointers are deprecated; consider calling the AnalogGyro constructor" - " with a channel number or passing a shared_ptr instead.") explicit AnalogGyro(AnalogInput *channel); explicit AnalogGyro(std::shared_ptr channel); AnalogGyro(int32_t channel, uint32_t center, float offset); diff --git a/wpilibc/Athena/include/AnalogPotentiometer.h b/wpilibc/Athena/include/AnalogPotentiometer.h index 01c29d9cf5..7b7b12a8c5 100644 --- a/wpilibc/Athena/include/AnalogPotentiometer.h +++ b/wpilibc/Athena/include/AnalogPotentiometer.h @@ -36,11 +36,6 @@ class AnalogPotentiometer : public Potentiometer, public LiveWindowSendable { explicit AnalogPotentiometer(int channel, double fullRange = 1.0, double offset = 0.0); - DEPRECATED( - "Raw pointers are deprecated; if you just want to construct an " - "AnalogPotentiometer with its own AnalogInput, then call the " - "AnalogPotentiometer(int channel). If you want to keep your own copy of " - "the AnalogInput, use std::shared_ptr.") explicit AnalogPotentiometer(AnalogInput *input, double fullRange = 1.0, double offset = 0.0); diff --git a/wpilibc/Athena/include/Counter.h b/wpilibc/Athena/include/Counter.h index 01121a6b2c..4066de8efb 100644 --- a/wpilibc/Athena/include/Counter.h +++ b/wpilibc/Athena/include/Counter.h @@ -33,19 +33,11 @@ class Counter : public SensorBase, public: explicit Counter(Mode mode = kTwoPulse); explicit Counter(int32_t channel); - DEPRECATED( - "Raw pointers are deprecated; if you just want to construct a Counter " - "with its own DigitalSource, then call the Counter(int channel). If you " - "want to keep your own copy of the DigitalSource, use " - "std::shared_ptr.") explicit Counter(DigitalSource *source); explicit Counter(std::shared_ptr source); - DEPRECATED( - "Raw pointers are deprecated. Use pass-by-reference instead.") + DEPRECATED("Use pass-by-reference instead.") explicit Counter(AnalogTrigger *trigger); explicit Counter(const AnalogTrigger &trigger); - DEPRECATED( - "Raw pointers are deprecated; prefer to use shared_ptr instead.") Counter(EncodingType encodingType, DigitalSource *upSource, DigitalSource *downSource, bool inverted); Counter(EncodingType encodingType, std::shared_ptr upSource, @@ -53,32 +45,22 @@ class Counter : public SensorBase, virtual ~Counter(); void SetUpSource(int32_t channel); - DEPRECATED( - "Raw pointers are deprecated; prefer to call either SetUpSource(int) or " - "SetUpSource(shared_ptr).") void SetUpSource(AnalogTrigger *analogTrigger, AnalogTriggerType triggerType); void SetUpSource(std::shared_ptr analogTrigger, AnalogTriggerType triggerType); - DEPRECATED("Raw pointers are deprecated. Use std::shared_ptr instead.") void SetUpSource(DigitalSource *source); void SetUpSource(std::shared_ptr source); - DEPRECATED("References are deprecated. Use std::shared_ptr instead.") void SetUpSource(DigitalSource &source); void SetUpSourceEdge(bool risingEdge, bool fallingEdge); void ClearUpSource(); void SetDownSource(int32_t channel); - DEPRECATED( - "Raw pointers are deprecated; prefer to call either SetDownSource(int) " - "or SetDownSource(shared_ptr).") void SetDownSource(AnalogTrigger *analogTrigger, AnalogTriggerType triggerType); void SetDownSource(std::shared_ptr analogTrigger, AnalogTriggerType triggerType); - DEPRECATED("Raw pointers are deprecated. Use std::shared_ptr instead.") void SetDownSource(DigitalSource *source); void SetDownSource(std::shared_ptr source); - DEPRECATED("References are deprecated. Use std::shared_ptr instead.") void SetDownSource(DigitalSource &source); void SetDownSourceEdge(bool risingEdge, bool fallingEdge); void ClearDownSource(); diff --git a/wpilibc/Athena/include/Encoder.h b/wpilibc/Athena/include/Encoder.h index a91355f388..76bfaf99a1 100644 --- a/wpilibc/Athena/include/Encoder.h +++ b/wpilibc/Athena/include/Encoder.h @@ -53,16 +53,8 @@ class Encoder : public SensorBase, Encoder(std::shared_ptr aSource, std::shared_ptr bSource, bool reverseDirection = false, EncodingType encodingType = k4X); - DEPRECATED( - "Raw pointers are deprecated; if you wish to construct your own copy of " - "the DigitalSource and pass it to the constructor, use an " - "std::shared_ptr instead.") Encoder(DigitalSource *aSource, DigitalSource *bSource, bool reverseDirection = false, EncodingType encodingType = k4X); - DEPRECATED( - "References are deprecated; if you wish to construct your own copy of " - "the DigitalSource and pass it to the constructor, use an " - "std::shared_ptr instead.") Encoder(DigitalSource &aSource, DigitalSource &bSource, bool reverseDirection = false, EncodingType encodingType = k4X); virtual ~Encoder(); @@ -87,7 +79,7 @@ class Encoder : public SensorBase, double PIDGet() override; void SetIndexSource(uint32_t channel, IndexingType type = kResetOnRisingEdge); - DEPRECATED("Raw pointers are deprecated; use references instead.") + DEPRECATED("Use pass-by-reference instead.") void SetIndexSource(DigitalSource *source, IndexingType type = kResetOnRisingEdge); void SetIndexSource(const DigitalSource &source, diff --git a/wpilibc/Athena/include/RobotDrive.h b/wpilibc/Athena/include/RobotDrive.h index ff03e1d198..d91e80d32d 100644 --- a/wpilibc/Athena/include/RobotDrive.h +++ b/wpilibc/Athena/include/RobotDrive.h @@ -44,16 +44,12 @@ class RobotDrive : public MotorSafety, public ErrorBase { RobotDrive(uint32_t leftMotorChannel, uint32_t rightMotorChannel); RobotDrive(uint32_t frontLeftMotorChannel, uint32_t rearLeftMotorChannel, uint32_t frontRightMotorChannel, uint32_t rearRightMotorChannel); - DEPRECATED("Raw pointers are deprecated; use shared_ptr instead.") RobotDrive(SpeedController *leftMotor, SpeedController *rightMotor); - DEPRECATED("References are deprecated; use shared_ptr instead.") RobotDrive(SpeedController &leftMotor, SpeedController &rightMotor); RobotDrive(std::shared_ptr leftMotor, std::shared_ptr rightMotor); - DEPRECATED("Raw pointers are deprecated; use shared_ptr instead.") RobotDrive(SpeedController *frontLeftMotor, SpeedController *rearLeftMotor, SpeedController *frontRightMotor, SpeedController *rearRightMotor); - DEPRECATED("References are deprecated; use shared_ptr instead.") RobotDrive(SpeedController &frontLeftMotor, SpeedController &rearLeftMotor, SpeedController &frontRightMotor, SpeedController &rearRightMotor); RobotDrive(std::shared_ptr frontLeftMotor, diff --git a/wpilibc/Athena/include/Ultrasonic.h b/wpilibc/Athena/include/Ultrasonic.h index 03c9e39cec..9f3617132a 100644 --- a/wpilibc/Athena/include/Ultrasonic.h +++ b/wpilibc/Athena/include/Ultrasonic.h @@ -42,15 +42,9 @@ class Ultrasonic : public SensorBase, public: enum DistanceUnit { kInches = 0, kMilliMeters = 1 }; - DEPRECATED( - "Raw pointers are deprecated; prefer either specifying the channel " - "numbers as integers or passing shared_ptrs.") Ultrasonic(DigitalOutput *pingChannel, DigitalInput *echoChannel, DistanceUnit units = kInches); - DEPRECATED( - "References are deprecated; prefer either specifying the channel numbers " - "as integers or passing shared_ptrs.") Ultrasonic(DigitalOutput &pingChannel, DigitalInput &echoChannel, DistanceUnit units = kInches); diff --git a/wpilibc/Athena/src/AnalogAccelerometer.cpp b/wpilibc/Athena/src/AnalogAccelerometer.cpp index 93e3d02f61..3880ba2477 100644 --- a/wpilibc/Athena/src/AnalogAccelerometer.cpp +++ b/wpilibc/Athena/src/AnalogAccelerometer.cpp @@ -39,11 +39,6 @@ AnalogAccelerometer::AnalogAccelerometer(int32_t channel) { * @param channel The existing AnalogInput object for the analog input the * accelerometer is connected to */ -DEPRECATED( - "Raw pointers are deprecated; if you just want to construct an " - "AnalogAccelerometer with its own AnalogInput, then call the " - "AnalogAccelerometer(int channel). If you want to keep your own copy of " - "the AnalogInput, use std::shared_ptr.") AnalogAccelerometer::AnalogAccelerometer(AnalogInput *channel) : m_analogInput(channel, NullDeleter()) { if (channel == nullptr) { diff --git a/wpilibc/Athena/src/AnalogGyro.cpp b/wpilibc/Athena/src/AnalogGyro.cpp index 1029aeb928..e1997a53b7 100644 --- a/wpilibc/Athena/src/AnalogGyro.cpp +++ b/wpilibc/Athena/src/AnalogGyro.cpp @@ -36,9 +36,6 @@ AnalogGyro::AnalogGyro(int32_t channel) : * @param channel A pointer to the AnalogInput object that the gyro is connected * to. */ -DEPRECATED( - "Raw pointers are deprecated; consider calling the Gyro constructor with " - "a channel number or passing a shared_ptr instead.") AnalogGyro::AnalogGyro(AnalogInput *channel) : AnalogGyro( std::shared_ptr(channel, NullDeleter())) {} diff --git a/wpilibc/Athena/src/AnalogPotentiometer.cpp b/wpilibc/Athena/src/AnalogPotentiometer.cpp index b5c703f50e..1372d84620 100644 --- a/wpilibc/Athena/src/AnalogPotentiometer.cpp +++ b/wpilibc/Athena/src/AnalogPotentiometer.cpp @@ -25,11 +25,6 @@ AnalogPotentiometer::AnalogPotentiometer(int channel, double fullRange, * @param offset The angular value (in desired units) representing the angular * output at 0V. */ -DEPRECATED( - "Raw pointers are deprecated; if you just want to construct an " - "AnalogPotentiometer with its own AnalogInput, then call the " - "AnalogPotentiometer(int channel). If you want to keep your own copy of " - "the AnalogInput, use std::shared_ptr.") AnalogPotentiometer::AnalogPotentiometer(AnalogInput *input, double fullRange, double offset) : m_analog_input(input, NullDeleter()), diff --git a/wpilibc/Athena/src/Counter.cpp b/wpilibc/Athena/src/Counter.cpp index 55a2a94e96..0a4e73a33b 100644 --- a/wpilibc/Athena/src/Counter.cpp +++ b/wpilibc/Athena/src/Counter.cpp @@ -46,10 +46,6 @@ Counter::Counter(Mode mode) { * @param source A pointer to the existing DigitalSource object. It will be set * as the Up Source. */ -DEPRECATED( - "Raw pointers are deprecated; if you just want to construct a Counter with " - "its own DigitalSource, then call the Counter(int channel). If you want to " - "keep your own copy of the DigitalSource, use std::shared_ptr.") Counter::Counter(DigitalSource *source) : Counter(kTwoPulse) { SetUpSource(source); ClearDownSource(); @@ -93,8 +89,7 @@ Counter::Counter(int32_t channel) : Counter(kTwoPulse) { * The counter will start counting immediately. * @param trigger The pointer to the existing AnalogTrigger object. */ -DEPRECATED( - "Raw pointers are deprecated. Use pass-by-reference instead.") +DEPRECATED("Use pass-by-reference instead.") Counter::Counter(AnalogTrigger *trigger) : Counter(kTwoPulse) { SetUpSource(trigger->CreateOutput(kState)); ClearDownSource(); @@ -121,8 +116,6 @@ Counter::Counter(const AnalogTrigger &trigger) : Counter(kTwoPulse) { * @param downSource The pointer to the DigitalSource to set as the down source * @param inverted True to invert the output (reverse the direction) */ -DEPRECATED( - "Raw pointers are deprecated; prefer to use shared_ptr instead.") Counter::Counter(EncodingType encodingType, DigitalSource *upSource, DigitalSource *downSource, bool inverted) : Counter(encodingType, @@ -193,9 +186,6 @@ void Counter::SetUpSource(int32_t channel) { * @param analogTrigger The analog trigger object that is used for the Up Source * @param triggerType The analog trigger output that will trigger the counter. */ -DEPRECATED( - "Raw pointers are deprecated; prefer to call either SetUpSource(int) or " - "SetUpSource(shared_ptr).") void Counter::SetUpSource(AnalogTrigger *analogTrigger, AnalogTriggerType triggerType) { SetUpSource(std::shared_ptr(analogTrigger, @@ -232,7 +222,6 @@ void Counter::SetUpSource(std::shared_ptr source) { } } -DEPRECATED("Raw pointers are deprecated. Use std::shared_ptr instead.") void Counter::SetUpSource(DigitalSource *source) { SetUpSource( std::shared_ptr(source, NullDeleter())); @@ -243,7 +232,6 @@ void Counter::SetUpSource(DigitalSource *source) { * Set the up counting DigitalSource. * @param source Reference to the DigitalSource object to set as the up source */ -DEPRECATED("References are deprecated. Use std::shared_ptr instead.") void Counter::SetUpSource(DigitalSource &source) { SetUpSource( std::shared_ptr(&source, NullDeleter())); @@ -294,9 +282,6 @@ void Counter::SetDownSource(int32_t channel) { * Source * @param triggerType The analog trigger output that will trigger the counter. */ -DEPRECATED( - "Raw pointers are deprecated; prefer to call either SetUpSource(int) or " - "SetUpSource(shared_ptr).") void Counter::SetDownSource(AnalogTrigger *analogTrigger, AnalogTriggerType triggerType) { SetDownSource(std::shared_ptr(analogTrigger, NullDeleter()), triggerType); @@ -332,7 +317,6 @@ void Counter::SetDownSource(std::shared_ptr source) { } } -DEPRECATED("Raw pointers are deprecated. Use std::shared_ptr instead.") void Counter::SetDownSource(DigitalSource *source) { SetDownSource(std::shared_ptr(source, NullDeleter())); } @@ -342,7 +326,6 @@ void Counter::SetDownSource(DigitalSource *source) { * Set the down counting DigitalSource. * @param source Reference to the DigitalSource object to set as the down source */ -DEPRECATED("References are deprecated. Use std::shared_ptr instead.") void Counter::SetDownSource(DigitalSource &source) { SetDownSource(std::shared_ptr(&source, NullDeleter())); } diff --git a/wpilibc/Athena/src/Encoder.cpp b/wpilibc/Athena/src/Encoder.cpp index 355bb44c66..953bf1d97c 100644 --- a/wpilibc/Athena/src/Encoder.cpp +++ b/wpilibc/Athena/src/Encoder.cpp @@ -125,10 +125,6 @@ Encoder::Encoder(uint32_t aChannel, uint32_t bChannel, bool reverseDirection, * match the spec'd count * or be double (2x) the spec'd count. */ -DEPRECATED( - "Raw pointers are deprecated; if you wish to construct your own copy of " - "the DigitalSource and pass it to the constructor, use an std::shared_ptr " - "instead.") Encoder::Encoder(DigitalSource *aSource, DigitalSource *bSource, bool reverseDirection, EncodingType encodingType) : m_aSource(aSource, NullDeleter()), @@ -174,10 +170,6 @@ Encoder::Encoder(std::shared_ptr aSource, * match the spec'd count * or be double (2x) the spec'd count. */ -DEPRECATED( - "References are deprecated; if you wish to construct your own copy of " - "the DigitalSource and pass it to the constructor, use an std::shared_ptr " - "instead.") Encoder::Encoder(DigitalSource &aSource, DigitalSource &bSource, bool reverseDirection, EncodingType encodingType) : m_aSource(&aSource, NullDeleter()), @@ -517,7 +509,7 @@ void Encoder::SetIndexSource(uint32_t channel, Encoder::IndexingType type) { * @param channel A digital source to set as the encoder index * @param type The state that will cause the encoder to reset */ -DEPRECATED("Raw pointers are dperecated; use references instead.") +DEPRECATED("Use pass-by-reference instead.") void Encoder::SetIndexSource(DigitalSource *source, Encoder::IndexingType type) { SetIndexSource(*source, type); diff --git a/wpilibc/Athena/src/RobotDrive.cpp b/wpilibc/Athena/src/RobotDrive.cpp index 8ca9c27789..ef72f3420e 100644 --- a/wpilibc/Athena/src/RobotDrive.cpp +++ b/wpilibc/Athena/src/RobotDrive.cpp @@ -21,7 +21,6 @@ const int32_t RobotDrive::kMaxNumberOfMotors; -DEPRECATED("making shared pointer from raw pointer") static auto make_shared_nodelete(SpeedController *ptr) { return std::shared_ptr(ptr, NullDeleter()); } @@ -98,7 +97,6 @@ RobotDrive::RobotDrive(uint32_t frontLeftMotor, uint32_t rearLeftMotor, * @param leftMotor The left SpeedController object used to drive the robot. * @param rightMotor the right SpeedController object used to drive the robot. */ -DEPRECATED("Raw pointers are deprecated; use shared_ptr instead.") RobotDrive::RobotDrive(SpeedController *leftMotor, SpeedController *rightMotor) { InitRobotDrive(); @@ -112,7 +110,6 @@ RobotDrive::RobotDrive(SpeedController *leftMotor, } //TODO: Change to rvalue references & move syntax. -DEPRECATED("References are deprecated; use shared_ptr instead.") RobotDrive::RobotDrive(SpeedController &leftMotor, SpeedController &rightMotor) { InitRobotDrive(); @@ -145,7 +142,6 @@ RobotDrive::RobotDrive(std::shared_ptr leftMotor, * @param frontRightMotor The front right SpeedController object used to drive * the robot. */ -DEPRECATED("Raw pointers are deprecated; use shared_ptr instead.") RobotDrive::RobotDrive(SpeedController *frontLeftMotor, SpeedController *rearLeftMotor, SpeedController *frontRightMotor, @@ -162,7 +158,6 @@ RobotDrive::RobotDrive(SpeedController *frontLeftMotor, m_rearRightMotor = make_shared_nodelete(rearRightMotor); } -DEPRECATED("References are deprecated; use shared_ptr instead.") RobotDrive::RobotDrive(SpeedController &frontLeftMotor, SpeedController &rearLeftMotor, SpeedController &frontRightMotor, diff --git a/wpilibc/Athena/src/Ultrasonic.cpp b/wpilibc/Athena/src/Ultrasonic.cpp index 69ed10d0af..07d3b479eb 100644 --- a/wpilibc/Athena/src/Ultrasonic.cpp +++ b/wpilibc/Athena/src/Ultrasonic.cpp @@ -116,9 +116,6 @@ Ultrasonic::Ultrasonic(uint32_t pingChannel, uint32_t echoChannel, * determine the range. * @param units The units returned in either kInches or kMilliMeters */ -DEPRECATED( - "Raw pointers are deprecated; prefer either specifying the channel numbers " - "as integers or passing shared_ptrs.") Ultrasonic::Ultrasonic(DigitalOutput *pingChannel, DigitalInput *echoChannel, DistanceUnit units) : m_pingChannel(pingChannel, NullDeleter()), @@ -144,9 +141,6 @@ Ultrasonic::Ultrasonic(DigitalOutput *pingChannel, DigitalInput *echoChannel, * determine the range. * @param units The units returned in either kInches or kMilliMeters */ -DEPRECATED( - "References are deprecated; prefer either specifying the channel numbers " - "as integers or passing shared_ptrs.") Ultrasonic::Ultrasonic(DigitalOutput &pingChannel, DigitalInput &echoChannel, DistanceUnit units) : m_pingChannel(&pingChannel, NullDeleter()), diff --git a/wpilibc/shared/include/Base.h b/wpilibc/shared/include/Base.h index 25bea354db..b1b806f2a1 100644 --- a/wpilibc/shared/include/Base.h +++ b/wpilibc/shared/include/Base.h @@ -54,11 +54,8 @@ ClassName(ClassName &&) = default // A struct to use as a deleter when a std::shared_ptr must wrap a raw pointer // that is being deleted by someone else. -// This should only be called in deprecated functions; using it anywhere else -// will throw warnings. template struct -DEPRECATED("wrapping raw pointer in std::shared_ptr") NullDeleter { void operator()(T *) const noexcept {}; }; diff --git a/wpilibc/shared/include/LiveWindow/LiveWindow.h b/wpilibc/shared/include/LiveWindow/LiveWindow.h index 1f216ab294..7b40f670a7 100644 --- a/wpilibc/shared/include/LiveWindow/LiveWindow.h +++ b/wpilibc/shared/include/LiveWindow/LiveWindow.h @@ -32,18 +32,12 @@ class LiveWindow { public: static LiveWindow *GetInstance(); void Run(); - DEPRECATED( - "Raw pointers are deprecated; pass the component using shared_ptr " - "instead.") void AddSensor(const std::string &subsystem, const std::string &name, LiveWindowSendable *component); void AddSensor(const std::string &subsystem, const std::string &name, LiveWindowSendable &component); void AddSensor(const std::string &subsystem, const std::string &name, std::shared_ptr component); - DEPRECATED( - "Raw pointers are deprecated; pass the component using shared_ptr " - "instead.") void AddActuator(const std::string &subsystem, const std::string &name, LiveWindowSendable *component); void AddActuator(const std::string &subsystem, const std::string &name, @@ -51,9 +45,6 @@ class LiveWindow { void AddActuator(const std::string &subsystem, const std::string &name, std::shared_ptr component); - DEPRECATED( - "Raw pointers are deprecated; pass the component using shared_ptr " - "instead.") void AddSensor(std::string type, int channel, LiveWindowSendable *component); void AddActuator(std::string type, int channel, LiveWindowSendable *component);