blob: f0a4c1107a59458f455ee1a5051b6e446e466162 [file] [log] [blame]
Brian Silvermand8f403a2014-12-13 19:12:04 -05001#ifndef FRC971_WPILIB_BUFFERED_SOLENOID_H_
2#define FRC971_WPILIB_BUFFERED_SOLENOID_H_
3
4namespace frc971 {
5namespace wpilib {
6
7class BufferedPcm;
8
9// Handles sending values for a single solenoid to a BufferedPcm. Instances are
10// created with BufferedPcm::MakeSolenoid.
11class BufferedSolenoid {
12 public:
13 // Sets or unsets the solenoid.
14 void Set(bool value);
15
16 private:
17 BufferedSolenoid(int number, BufferedPcm *pcm) : number_(number), pcm_(pcm) {}
18
19 const int number_;
20 BufferedPcm *const pcm_;
21
22 friend class BufferedPcm;
23};
24
25} // namespace wpilib
26} // namespace frc971
27
28#endif // FRC971_WPILIB_BUFFERED_SOLENOID_H_