Cleanup ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE, all platforms support it so far as I can...
[ACE_TAO.git] / ACE / apps / drwho / CM_Client.h
blob690d87ed4af99d372ad992bc8c5170c641ed3637
1 /* -*- C++ -*- */
3 //=============================================================================
4 /**
5 * @file CM_Client.h
7 * Provides a virtual communcations layer for the client in the
8 * drwho program.
10 * @author Douglas C. Schmidt
12 //=============================================================================
15 #ifndef _CM_CLIENT_H
16 #define _CM_CLIENT_H
18 #include "Comm_Manager.h"
19 #include "ace/Time_Value.h"
21 /**
22 * @class CM_Client
24 * @brief Provides a virtual communcations layer for the client in the
25 * drwho program.
27 class CM_Client : public Comm_Manager
29 public:
30 /// Constructor.
31 CM_Client ();
33 /// Destructor.
34 virtual ~CM_Client ();
36 virtual int mux (char *packet, int &packet_length) = 0;
37 virtual int demux (char *packet, int &packet_length) = 0;
38 virtual int open (short port_number);
39 virtual int receive (int timeout = 0);
40 virtual int send ();
42 private:
43 fd_set read_fd_;
44 ACE_Time_Value time_out_;
45 ACE_Time_Value *top_;
48 #endif /* _CM_CLIENT_H */