00001 // -*- C++ -*- 00002 00003 //======================================================================= 00004 /** 00005 * @file PG_MemberInfo.h 00006 * 00007 * $Id: PG_MemberInfo.h 87872 2009-12-02 18:25:48Z dai_y $ 00008 * 00009 * @author Ossama Othman <ossama@uci.edu> 00010 */ 00011 //======================================================================= 00012 00013 00014 #ifndef TAO_PG_MEMBER_INFO_H 00015 #define TAO_PG_MEMBER_INFO_H 00016 00017 #include /**/ "ace/pre.h" 00018 00019 #include "ace/config-all.h" 00020 00021 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00022 # pragma once 00023 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00024 00025 #include "orbsvcs/PortableGroupC.h" 00026 #include "ace/Unbounded_Set.h" 00027 00028 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00029 00030 /** 00031 * @class TAO_PG_MemberInfo 00032 * 00033 * @brief Structure that contains all member-specific information. 00034 * 00035 * Structure that contains all member-specific information. 00036 */ 00037 00038 struct TAO_PG_MemberInfo 00039 { 00040 PortableGroup::ObjectGroup_var group; 00041 00042 /// Reference to the member. 00043 CORBA::Object_var member; 00044 00045 /// The location at which the member resides. 00046 PortableGroup::Location location; 00047 00048 /// Flag indicates that the member is alive. 00049 bool is_alive; 00050 00051 /// Equality operator. 00052 /** 00053 * For the purposes of the member info set, only the location is 00054 * important. In particular, if a member already resides at the 00055 * given location, this equality operator will return true. 00056 */ 00057 bool operator== (const TAO_PG_MemberInfo & rhs) const; 00058 00059 }; 00060 00061 typedef ACE_Unbounded_Set<TAO_PG_MemberInfo> TAO_PG_MemberInfo_Set; 00062 00063 TAO_END_VERSIONED_NAMESPACE_DECL 00064 00065 #include /**/ "ace/post.h" 00066 00067 #endif /* TAO_PG_MEMBER_INFO_H */