My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
DliPowerStripController.h
Go to the documentation of this file.
1 // $Id: DliPowerStripController.h,v 1.1 2010/11/24 00:45:25 sjcm Exp $
2 
3 #ifndef GCP_UTIL_DLIPOWERSTRIPCONTROLLER_H
4 #define GCP_UTIL_DLIPOWERSTRIPCONTROLLER_H
5 
16 #include <iostream>
17 
18 #include "gcp/util/common/DliPowerStrip.h"
19 #include "gcp/util/common/GenericTaskMsg.h"
20 #include "gcp/util/common/SpawnableTask.h"
21 
22 namespace gcp {
23  namespace util {
24 
25  // A utility class for sending messages to the GpibUsbController task
26 
28  public:
29 
30  enum MsgType {
31  ENABLE,
32  CYCLE,
33  STATUS,
34  };
35 
36  union {
37  struct {
38  bool enable_;
39  DliPowerStrip::Outlet mask_;
40  } enable;
41 
42  struct {
43  DliPowerStrip::Outlet mask_;
44  } cycle;
45 
46  } body;
47 
48  // A type for this message
49 
50  MsgType type_;
51  };
52 
53  class DliPowerStripController : public SpawnableTask<DliPowerStripControllerMsg> {
54  public:
55 
59  DliPowerStripController(std::string host, bool doSpawn=true);
60 
64  friend std::ostream& operator<<(std::ostream& os, DliPowerStripController& obj);
65 
69  virtual ~DliPowerStripController();
70 
71  void on(DliPowerStrip::Outlet mask);
72  void off(DliPowerStrip::Outlet mask);
73  void cycle(DliPowerStrip::Outlet mask);
74  void status();
75 
76  protected:
77 
78  virtual void reportStatus(std::vector<DliPowerStrip::State>& status) {};
79 
85 
86  private:
87 
88  DliPowerStrip dli_;
89 
90  }; // End class DliPowerStripController
91 
92  } // End namespace util
93 } // End namespace gcp
94 
95 
96 #endif // End #ifndef GCP_UTIL_DLIPOWERSTRIPCONTROLLER_H
Definition: GenericTaskMsg.h:31
Definition: DliPowerStripController.h:27
virtual ~DliPowerStripController()
Definition: DliPowerStripController.cc:20
Definition: SpawnableTask.h:31
Definition: DliPowerStrip.h:20
void processMsg(DliPowerStripControllerMsg *msg)
Definition: DliPowerStripController.cc:26
friend std::ostream & operator<<(std::ostream &os, DliPowerStripController &obj)
DliPowerStripController(std::string host, bool doSpawn=true)
Definition: DliPowerStripController.cc:12
Definition: DliPowerStripController.h:53