CARMA C++
NetMsgHandler.h
Go to the documentation of this file.
1 #ifndef SZA_UTIL_NETMSGHANDLER_H
2 #define SZA_UTIL_NETMSGHANDLER_H
3 
12 #include "carma/szautil/NetMsg.h"
13 
14 namespace sza {
15  namespace util {
16 
17  class NetMsg;
18 
19  class NetMsgHandler : public NetHandler {
20  public:
21 
25  NetMsgHandler();
26 
30  virtual ~NetMsgHandler();
31 
36  sza::util::NetSendStr::NetSendId
37  sendNetMsg(sza::util::NetMsg* msg);
38 
42  sza::util::NetSendStr::NetSendId
43  sendNetMsg(int fd, sza::util::NetMsg* msg);
44 
48  void packNetMsg(sza::util::NetMsg* msg);
49 
53  void packGreetingMsg(unsigned int antenna);
54 
58  void packAntennaIdMsg(unsigned int antenna);
59 
63  void readNetMsg();
64 
68  sza::util::NetMsg* getLastReadNetMsg();
69  sza::util::NetMsg* getLastSentNetMsg();
70 
74  void installReadHandler(NET_READ_HANDLER(*handler), void* arg);
75  void installSendHandler(NET_SEND_HANDLER(*handler), void* arg);
76  void installErrorHandler(NET_ERROR_HANDLER(*handler), void* arg);
77 
78  private:
79 
83  ArrayMap* arraymap_;
84 
88  sza::util::NetMsg lastReadNetMsg_;
89  sza::util::NetMsg lastSentNetMsg_;
90 
94  static NET_READ_HANDLER(readHandler);
95 
96  // A pointer to a user-defined handler
97 
98  NET_READ_HANDLER(*userReadHandler_);
99  void* userReadArg_;
100 
104  static NET_SEND_HANDLER(sendHandler);
105 
106  // A pointer to a user-defined handler
107 
108  NET_SEND_HANDLER(*userSendHandler_);
109  void* userSendArg_;
110 
114  static NET_ERROR_HANDLER(errorHandler);
115 
116  // A pointer to a user-defined handler
117 
118  NET_ERROR_HANDLER(*userErrorHandler_);
119  void* userErrorArg_;
120 
121  }; // End class NetMsgHandler
122 
123  } // End namespace util
124 } // End namespace sza
125 
126 
127 
128 #endif // End #ifndef SZA_UTIL_NETMSGHANDLER_H
Tagged: Mon Mar 15 15:29:07 UTC 2004.
Tagged: Sun Apr 4 22:36:40 UTC 2004.