summaryrefslogtreecommitdiff
path: root/ACE/examples/Reactor/Misc/test_event_handler_t.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/examples/Reactor/Misc/test_event_handler_t.cpp')
-rw-r--r--ACE/examples/Reactor/Misc/test_event_handler_t.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/ACE/examples/Reactor/Misc/test_event_handler_t.cpp b/ACE/examples/Reactor/Misc/test_event_handler_t.cpp
new file mode 100644
index 00000000000..9eb4019e455
--- /dev/null
+++ b/ACE/examples/Reactor/Misc/test_event_handler_t.cpp
@@ -0,0 +1,39 @@
+// $Id$
+
+#include "ace/Event_Handler_T.h"
+#include "ace/Log_Msg.h"
+
+class ACE_Test_Sig_Handler
+{
+public:
+ ACE_Test_Sig_Handler (void) {}
+ virtual ~ACE_Test_Sig_Handler (void) {}
+ virtual ACE_HANDLE get_handle (void) const { return 0; }
+ virtual void set_handle (ACE_HANDLE) {}
+ virtual int handle_async_io (ACE_HANDLE) { return 0; }
+
+ //FUZZ: disable check_for_lack_ACE_OS
+ virtual int shutdown (ACE_HANDLE, ACE_Reactor_Mask) { return 0; }
+ //FUZZ: enable check_for_lack_ACE_OS
+
+ virtual int signal_handler (int /* signum */,
+ siginfo_t * = 0,
+ ucontext_t * = 0)
+ {
+ return 0;
+ }
+};
+
+int
+ACE_TMAIN (int, ACE_TCHAR *[])
+{
+ typedef ACE_Event_Handler_T<ACE_Test_Sig_Handler> EH_SH;
+
+ // Tie the ACE_Event_Handler_T together with the methods from ACE_Test_Sig_Handler.
+ EH_SH tied_sh (new ACE_Test_Sig_Handler, 1,
+ &ACE_Test_Sig_Handler::get_handle,
+ &ACE_Test_Sig_Handler::handle_async_io,
+ &ACE_Test_Sig_Handler::shutdown,
+ &ACE_Test_Sig_Handler::signal_handler);
+ return 0;
+}