summaryrefslogtreecommitdiff
path: root/ace/adapter/ace/FIFO.h
diff options
context:
space:
mode:
Diffstat (limited to 'ace/adapter/ace/FIFO.h')
-rw-r--r--ace/adapter/ace/FIFO.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/ace/adapter/ace/FIFO.h b/ace/adapter/ace/FIFO.h
new file mode 100644
index 00000000000..5fca19db73d
--- /dev/null
+++ b/ace/adapter/ace/FIFO.h
@@ -0,0 +1,40 @@
+// $Id$
+
+#ifndef ACE_ADAPTER_FIFO_H
+#define ACE_ADAPTER_FIFO_H
+#include "ace/pre.h"
+
+#include "../../FIFO.h"
+
+// @@ These probably should be moved into the other ACE_FIFO derived classes
+
+class ACE_FIFO_W : public ACE_FIFO
+{
+public:
+ int open (const wchar_t *rendezvous, int flags, int perms,
+ LPSECURITY_ATTRIBUTES sa = 0)
+ { return ACE_FIFO::open (ACE_TEXT_WCHAR_TO_CHAR (rendezvous), flags, perms, sa); }
+
+ int get_local_addr (const wchar_t *&rendezvous) const
+ {
+ char *crend;
+ int result = ACE_FIFO::get_local_addr (crend);
+
+ rendezvous = ACE::strnew (ACE_TEXT_CHAR_TO_WCHAR (crend));
+ delete [] crend;
+ return result;
+ }
+
+protected:
+ ACE_FIFO_W (void)
+ {}
+
+ ACE_FIFO_W (const wchar_t *rendezvous, int flags, int perms,
+ LPSECURITY_ATTRIBUTES sa = 0)
+ : ACE_FIFO (ACE_TEXT_WCHAR_TO_CHAR (rendezvous), flags, perms, sa)
+ {}
+
+};
+
+#include "ace/post.h"
+#endif /* ACE_ADAPTER_FIFO_H */