summaryrefslogtreecommitdiff
path: root/ACE/apps/JAWS3/jaws3/Event_Result.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/apps/JAWS3/jaws3/Event_Result.h')
-rw-r--r--ACE/apps/JAWS3/jaws3/Event_Result.h104
1 files changed, 104 insertions, 0 deletions
diff --git a/ACE/apps/JAWS3/jaws3/Event_Result.h b/ACE/apps/JAWS3/jaws3/Event_Result.h
new file mode 100644
index 00000000000..c82bc12d408
--- /dev/null
+++ b/ACE/apps/JAWS3/jaws3/Event_Result.h
@@ -0,0 +1,104 @@
+/* -*- c++ -*- */
+// $Id$
+
+#ifndef JAWS_EVENT_RESULT_H
+#define JAWS_EVENT_RESULT_H
+
+#include "ace/OS_NS_errno.h"
+#include "ace/os_include/os_stddef.h" /* Needed for size_t */
+
+#include "jaws3/Export.h"
+
+class JAWS_Event_Result;
+
+class JAWS_Export JAWS_Event_Result
+{
+public:
+
+ enum JE_STATUS
+ { JE_IDLE
+ , JE_OK
+ , JE_PENDING
+ , JE_CANCEL
+ , JE_ERROR
+ };
+
+ enum JE_REASON
+ { JE_NO_REASON
+ , JE_ACCEPT_OK
+ , JE_ACCEPT_PENDING
+ , JE_ACCEPT_TIMEOUT
+ , JE_ACCEPT_FAIL
+ , JE_CONNECT_OK
+ , JE_CONNECT_PENDING
+ , JE_CONNECT_TIMEOUT
+ , JE_CONNECT_FAIL
+ , JE_SEND_OK
+ , JE_SEND_PENDING
+ , JE_SEND_BLOCKED
+ , JE_SEND_SHORT
+ , JE_SEND_TIMEOUT
+ , JE_SEND_FAIL
+ , JE_RECV_OK
+ , JE_RECV_PENDING
+ , JE_RECV_BLOCKED
+ , JE_RECV_SHORT
+ , JE_RECV_TIMEOUT
+ , JE_RECV_FAIL
+ , JE_TRANSMIT_OK
+ , JE_TRANSMIT_PENDING
+ , JE_TRANSMIT_BLOCKED
+ , JE_TRANSMIT_SHORT
+ , JE_TRANSMIT_TIMEOUT
+ , JE_TRANSMIT_FAIL
+ , JE_TIMER_OK
+ , JE_TIMER_CANCEL
+ , JE_TIMER_PENDING
+ , JE_TIMER_FAIL
+ , JE_LAMBDA_OK
+ , JE_LAMBDA_CANCEL
+ , JE_LAMBDA_PENDING
+ , JE_LAMBDA_SHORT
+ , JE_LAMBDA_TIMEOUT
+ , JE_LAMBDA_FAIL
+ };
+
+ JAWS_Event_Result ( size_t bytes = 0
+ , JE_STATUS status = JE_IDLE
+ , JE_REASON reason = JE_NO_REASON
+ , int error_number = -1
+ , void * data = 0
+ )
+ : bytes_ (bytes)
+ , status_ (status)
+ , reason_ (reason)
+ , error_number_ (error_number)
+ , data_ (data)
+ {
+ if (this->error_number_ == -1)
+ this->error_number_ = errno;
+ }
+
+ size_t bytes (void) const { return this->bytes_; }
+
+ int status (void) const { return this->status_; }
+ int reason (void) const { return this->reason_; }
+
+ int error_number (void) const { return (errno = this->error_number_); }
+
+ void * data (void) const { return this->data_; }
+
+private:
+
+ size_t bytes_;
+
+ JE_STATUS status_;
+ JE_REASON reason_;
+
+ int error_number_;
+
+ void *data_;
+
+};
+
+#endif /* JAWS_EVENT_RESULT_H */