LRT13  1.0
 All Classes Namespaces Functions Variables Enumerations Enumerator
ComponentData.h
1 #ifndef COMPONENT_DATA_H
2 #define COMPONENT_DATA_H
3 
4 #include <WPILib.h>
5 #include "../Utils/Defines.h"
6 
7 namespace data
8 {
9  namespace drivetrain
10  {
11  class DrivetrainData;
12  }
13  namespace shooter
14  {
15  class ShooterData;
16  }
17  namespace configloader
18  {
19  class ConfigLoaderData;
20  }
21  namespace shooter
22  {
23  class ShooterData;
24  }
25  namespace collector
26  {
27  class CollectorData;
28  }
29  namespace climber
30  {
31  class ClimberData;
32  class WinchPawlData;
33  }
34  namespace indicators
35  {
36  class LEDIndicatorData;
37  }
38  namespace autoaim
39  {
40  class AutoAimData;
41  }
42  namespace routinerecorder
43  {
44  class RoutineRecorderData;
45  }
46 
52  {
53  public:
54  static ComponentData* GetInstance();
55  static void Finalize();
56 
57  ~ComponentData();
58 
59  drivetrain::DrivetrainData* const drivetrainData;
60  shooter::ShooterData* const shooterData;
61  collector::CollectorData* const collectorData;
62  climber::ClimberData* const climberData;
63  climber::WinchPawlData* const winchPawlData;
64  configloader::ConfigLoaderData* const configLoaderData;
65  indicators::LEDIndicatorData* const ledIndicatorData;
66  autoaim::AutoAimData* const autoAimData;
67  routinerecorder::RoutineRecorderData* const routineRecorderData;
68 
69  protected:
70  ComponentData();
71 
72  DISALLOW_COPY_AND_ASSIGN(ComponentData);
73 
74  private:
75  static ComponentData* m_instance;
76  };
77 }
78 
79 #endif