Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / ACE / apps / JAWS3 / jaws3 / Jaws_IO.h
blobf6d41b73d4d5bc9eefb90a9f7f507b01e45d7aeb
1 /* -*- c++ -*- */
2 #ifndef JAWS_IO_H
3 #define JAWS_IO_H
5 #include "ace/Message_Block.h"
6 #include "ace/Singleton.h"
7 #include "ace/Synch_Traits.h"
9 #include "jaws3/Export.h"
12 class JAWS_IO;
13 class JAWS_Event_Completer;
16 class JAWS_Export JAWS_IO_Impl
17 // = TITLE
18 // IO inteface for the implementation classes on the RHS of the
19 // Bridge Pattern.
21 public:
22 virtual ~JAWS_IO_Impl () {}
24 // = Regular IO methods.
26 virtual void send ( ACE_HANDLE handle
27 , ACE_Message_Block *mb
28 , JAWS_Event_Completer *completer
29 , void *act = 0
30 ) = 0;
32 virtual void recv ( ACE_HANDLE handle
33 , ACE_Message_Block *mb
34 , JAWS_Event_Completer *completer
35 , void *act = 0
36 ) = 0;
38 virtual void transmit ( ACE_HANDLE handle
39 , ACE_HANDLE source
40 , JAWS_Event_Completer *completer
41 , void *act = 0
42 , ACE_Message_Block *header = 0
43 , ACE_Message_Block *trailer = 0
44 ) = 0;
46 // = Timed IO methods.
48 virtual void send ( ACE_HANDLE handle
49 , ACE_Message_Block *mb
50 , JAWS_Event_Completer *completer
51 , const ACE_Time_Value &tv
52 , void *act = 0
53 ) = 0;
55 virtual void recv ( ACE_HANDLE handle
56 , ACE_Message_Block *mb
57 , JAWS_Event_Completer *completer
58 , const ACE_Time_Value &tv
59 , void *act = 0
60 ) = 0;
62 virtual void transmit ( ACE_HANDLE handle
63 , ACE_HANDLE source
64 , JAWS_Event_Completer *completer
65 , const ACE_Time_Value &tv
66 , void *act = 0
67 , ACE_Message_Block *header = 0
68 , ACE_Message_Block *trailer = 0
69 ) = 0;
73 class JAWS_Export JAWS_IO
75 public:
76 JAWS_IO (JAWS_IO_Impl *impl = 0);
78 ~JAWS_IO ();
80 static JAWS_IO * instance ()
82 return ACE_Singleton<JAWS_IO, ACE_SYNCH_MUTEX>::instance ();
85 void send ( ACE_HANDLE handle
86 , ACE_Message_Block *mb
87 , JAWS_Event_Completer *completer
88 , void *act = 0
91 void recv ( ACE_HANDLE handle
92 , ACE_Message_Block *mb
93 , JAWS_Event_Completer *completer
94 , void *act = 0
97 void transmit ( ACE_HANDLE handle
98 , ACE_HANDLE source
99 , JAWS_Event_Completer *completer
100 , void *act = 0
101 , ACE_Message_Block *header = 0
102 , ACE_Message_Block *trailer = 0
105 void send ( ACE_HANDLE handle
106 , ACE_Message_Block *mb
107 , JAWS_Event_Completer *completer
108 , const ACE_Time_Value &tv
109 , void *act = 0
112 void recv ( ACE_HANDLE handle
113 , ACE_Message_Block *mb
114 , JAWS_Event_Completer *completer
115 , const ACE_Time_Value &tv
116 , void *act = 0
119 void transmit ( ACE_HANDLE handle
120 , ACE_HANDLE source
121 , JAWS_Event_Completer *completer
122 , const ACE_Time_Value &tv
123 , void *act = 0
124 , ACE_Message_Block *header = 0
125 , ACE_Message_Block *trailer = 0
129 private:
130 JAWS_IO_Impl *impl_;
133 #endif /* JAWS_IO_H */