diff options
Diffstat (limited to 'ACE/apps/JAWS3/jaws3/Event_Result.h')
-rw-r--r-- | ACE/apps/JAWS3/jaws3/Event_Result.h | 104 |
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 */ |