3 //=============================================================================
5 * @file FIFO_Send_Msg.h
7 * $Id: FIFO_Send_Msg.h 80826 2008-03-04 14:51:23Z wotte $
11 //=============================================================================
14 #ifndef ACE_FIFO_SEND_MSG_H
15 #define ACE_FIFO_SEND_MSG_H
16 #include /**/ "ace/pre.h"
18 #include "ace/FIFO_Send.h"
20 #if !defined (ACE_LACKS_PRAGMA_ONCE)
22 #endif /* ACE_LACKS_PRAGMA_ONCE */
24 #if defined (ACE_HAS_STREAM_PIPES)
25 # include "ace/OS_NS_stropts.h"
26 #endif /* ACE_HAS_STREAM_PIPES */
28 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
34 * @class ACE_FIFO_Send_Msg
36 * @brief Sender side for the Record oriented C++ wrapper for UNIX
39 class ACE_Export ACE_FIFO_Send_Msg
: public ACE_FIFO_Send
42 // = Initialization methods.
43 /// Default constructor.
44 ACE_FIFO_Send_Msg (void);
46 /// Open up a record-oriented named pipe for writing.
47 ACE_FIFO_Send_Msg (const ACE_TCHAR
*rendezvous
,
49 mode_t perms
= ACE_DEFAULT_FILE_PERMS
,
50 LPSECURITY_ATTRIBUTES sa
= 0);
52 /// Open up a record-oriented named pipe for writing.
53 int open (const ACE_TCHAR
*rendezvous
,
55 mode_t perms
= ACE_DEFAULT_FILE_PERMS
,
56 LPSECURITY_ATTRIBUTES sa
= 0);
58 /// Send @a buf of up to @a len bytes.
59 ssize_t
send (const ACE_Str_Buf
&msg
);
61 /// Send @a buf of exactly @a len bytes (block until done).
62 ssize_t
send (const void *buf
, size_t len
);
64 #if defined (ACE_HAS_STREAM_PIPES)
65 /// Send <data> and <cntl> message via Stream pipes.
66 ssize_t
send (const ACE_Str_Buf
*data
,
67 const ACE_Str_Buf
*cntl
= 0,
70 /// Send <data> and <cntl> message via Stream pipes in "band" mode.
71 ssize_t
send (int band
,
72 const ACE_Str_Buf
*data
,
73 const ACE_Str_Buf
*cntl
= 0,
74 int flags
= MSG_BAND
);
75 #endif /* ACE_HAS_STREAM_PIPES */
77 /// Dump the state of an object.
78 void dump (void) const;
80 /// Declare the dynamic allocation hooks.
81 ACE_ALLOC_HOOK_DECLARE
;
84 ACE_END_VERSIONED_NAMESPACE_DECL
86 #if defined (__ACE_INLINE__)
87 #include "ace/FIFO_Send_Msg.inl"
88 #endif /* __ACE_INLINE__ */
90 #include /**/ "ace/post.h"
91 #endif /* ACE_FIFO_SEND_MSG_H */