00001 // -*- C++ -*- 00002 // 00003 // $Id: LF_Event.inl 86191 2009-07-23 17:49:23Z johnnyw $ 00004 00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00006 00007 ACE_INLINE int 00008 TAO_LF_Event::bind (TAO_LF_Follower *follower) 00009 { 00010 if (this->follower_ != 0) 00011 return -1; 00012 this->follower_ = follower; 00013 return 0; 00014 } 00015 00016 ACE_INLINE int 00017 TAO_LF_Event::unbind (TAO_LF_Follower *) 00018 { 00019 if (this->follower_ == 0) 00020 return -1; 00021 this->follower_ = 0; 00022 return 0; 00023 } 00024 00025 ACE_INLINE void 00026 TAO_LF_Event::reset_state (int new_state) 00027 { 00028 this->state_ = new_state; 00029 } 00030 00031 ACE_INLINE int 00032 TAO_LF_Event::keep_waiting (void) 00033 { 00034 return (this->successful () == 0) && (this->error_detected () == 0); 00035 } 00036 00037 ACE_INLINE const char * 00038 TAO_LF_Event::state_name (int st) 00039 { 00040 #define TAO_LF_EVENT_ENTRY(X) case X: return #X 00041 switch (st) 00042 { 00043 TAO_LF_EVENT_ENTRY (LFS_IDLE); 00044 TAO_LF_EVENT_ENTRY (LFS_ACTIVE); 00045 TAO_LF_EVENT_ENTRY (LFS_CONNECTION_WAIT); 00046 TAO_LF_EVENT_ENTRY (LFS_SUCCESS); 00047 TAO_LF_EVENT_ENTRY (LFS_FAILURE); 00048 TAO_LF_EVENT_ENTRY (LFS_TIMEOUT); 00049 TAO_LF_EVENT_ENTRY (LFS_CONNECTION_CLOSED); 00050 } 00051 return "***Unknown enum value, update TAO_LF_Event::state_name()"; 00052 #undef TAO_LF_EVENT_ENTRY 00053 } 00054 00055 TAO_END_VERSIONED_NAMESPACE_DECL