summaryrefslogtreecommitdiff
path: root/ACE/examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.h')
-rw-r--r--ACE/examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/ACE/examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.h b/ACE/examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.h
new file mode 100644
index 00000000000..5f6fac87ecf
--- /dev/null
+++ b/ACE/examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.h
@@ -0,0 +1,55 @@
+// -*- C++ -*-
+// $Id$
+
+// Handle connections from local UNIX domain sockets that are sending
+// end-points from a pipe!
+
+#ifndef _HANDLE_L_PIPE_H
+#define _HANDLE_L_PIPE_H
+
+#include "ace/Service_Config.h"
+#include "ace/Reactor.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/Service_Types.h"
+#include "ace/UNIX_Addr.h"
+#include "ace/LSOCK_Acceptor.h"
+#include "ace/svc_export.h"
+
+#if !defined (ACE_LACKS_UNIX_DOMAIN_SOCKETS)
+
+class ACE_Svc_Export Handle_L_Pipe : public ACE_Service_Object, public ACE_LSOCK_Acceptor
+{
+public:
+ Handle_L_Pipe (void);
+ ~Handle_L_Pipe (void);
+ virtual int init (int argc, ACE_TCHAR *argv[]);
+ virtual int info (ACE_TCHAR **, size_t) const;
+ virtual int fini (void);
+
+private:
+ int open (const ACE_UNIX_Addr &suap, int async = 0);
+ virtual ACE_HANDLE get_handle (void) const;
+ virtual int handle_input (ACE_HANDLE fd);
+ virtual int handle_close (ACE_HANDLE fd, ACE_Reactor_Mask);
+
+ char *upper_case (char s[], int n);
+
+ ACE_TCHAR rendezvous[MAXPATHLEN + 1];
+ static const ACE_TCHAR *DEFAULT_RENDEZVOUS;
+};
+
+extern ACE_Service_Object_Type lp;
+
+#if defined (__ACE_INLINE__)
+#define ACE_INLINE inline
+#include "Handle_L_Pipe.inl"
+#else
+#define ACE_INLINE
+#endif /* __ACE_INLINE__ */
+
+#endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */
+#endif /* _HANDLE_L_PIPE_H */