diff options
Diffstat (limited to 'ace/IPC/FIFO_Send.h')
-rw-r--r-- | ace/IPC/FIFO_Send.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/ace/IPC/FIFO_Send.h b/ace/IPC/FIFO_Send.h new file mode 100644 index 00000000000..7c870454b82 --- /dev/null +++ b/ace/IPC/FIFO_Send.h @@ -0,0 +1,66 @@ +/* -*- C++ -*- */ + +//============================================================================= +/** + * @file FIFO_Send.h + * + * $Id$ + * + * @author Doug Schmidt + */ +//============================================================================= + + +#ifndef ACE_FIFO_SEND_H +#define ACE_FIFO_SEND_H +#include "ace/pre.h" + +#include "ace/FIFO.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +/** + * @class ACE_FIFO_Send + * + * @brief Sender side for the bytestream C++ wrapper for UNIX FIFOs + */ +class ACE_Export ACE_FIFO_Send : public ACE_FIFO +{ +public: + // = Initialization methods. + /// Default constructor. + ACE_FIFO_Send (void); + + /// Open up a bytestream named pipe for writing. + ACE_FIFO_Send (const ACE_TCHAR *rendezvous, + int flags = O_WRONLY, + int perms = ACE_DEFAULT_FILE_PERMS, + LPSECURITY_ATTRIBUTES sa = 0); + + /// Open up a bytestream named pipe for writing. + int open (const ACE_TCHAR *rendezvous, + int flags = O_WRONLY, + int perms = ACE_DEFAULT_FILE_PERMS, + LPSECURITY_ATTRIBUTES sa = 0); + + /// Send <buf> of up to <len> bytes. + ssize_t send (const void *buf, size_t len); + + /// Send <buf> of exactly <len> bytes (block until done). + ssize_t send_n (const void *buf, size_t len); + + /// Dump the state of an object. + void dump (void) const; + + /// Declare the dynamic allocation hooks. + ACE_ALLOC_HOOK_DECLARE; +}; + +#if !defined (ACE_LACKS_INLINE_FUNCTIONS) +#include "ace/FIFO_Send.i" +#endif + +#include "ace/post.h" +#endif /* ACE_FIFO_SEND_H */ |