CARMA C++
NetCmdHandler.h
Go to the documentation of this file.
1 #ifndef SZA_UTIL_NETCMDHANDLER_H
2 #define SZA_UTIL_NETCMDHANDLER_H
3 
12 // Shared control code includes
13 
14 #include "carma/szaarrayutils/rtcnetcoms.h"
15 
17 #include "carma/szautil/NetCmd.h"
18 
19 namespace sza {
20  namespace util {
21 
22  class NetCmdHandler : public NetHandler {
23  public:
24 
28  NetCmdHandler();
29 
33  virtual ~NetCmdHandler();
34 
38  void packNetCmd(sza::util::NetCmd* rtc);
39 
43  void packNetCmd(sza::array::RtcNetCmd* rtc,
44  sza::array::NetCmdId opcode);
45 
49  sza::util::NetCmd* getLastReadNetCmd();
50 
54  sza::util::NetCmd* getLastSentNetCmd();
55 
59  void installReadHandler(NET_READ_HANDLER(*handler), void* arg);
60  void installSendHandler(NET_SEND_HANDLER(*handler), void* arg);
61  void installErrorHandler(NET_ERROR_HANDLER(*handler), void* arg);
62 
63  private:
64 
68  sza::util::NetCmd lastReadNetCmd_;
69 
73  sza::util::NetCmd lastSentNetCmd_;
74 
78  void readNetCmd();
79 
83  static NET_READ_HANDLER(readHandler);
84 
85  // A pointer to a user-defined handler
86 
87  NET_READ_HANDLER(*userReadHandler_);
88  void* userReadArg_;
89 
93  static NET_SEND_HANDLER(sendHandler);
94 
95  // A pointer to a user-defined handler
96 
97  NET_SEND_HANDLER(*userSendHandler_);
98  void* userSendArg_;
99 
103  static NET_ERROR_HANDLER(errorHandler);
104 
105  // A pointer to a user-defined handler
106 
107  NET_ERROR_HANDLER(*userErrorHandler_);
108  void* userErrorArg_;
109 
110  }; // End class NetCmdHandler
111 
112  }; // End namespace util
113 }; // End namespace sza
114 
115 #endif // End #ifndef
116 
117 
Tagged: Sun Apr 4 22:36:40 UTC 2004.
Tagged: Wed Mar 17 19:42:02 UTC 2004.