Merge pull request #2301 from sonndinh/remove-dup-reactor-functions
[ACE_TAO.git] / TAO / orbsvcs / FT_ReplicationManager / FT_FaultEventDescriptor.h
blob8d93dc33a79f022869a2e30e9fccf4b8b5a4d4d2
1 /* -*- C++ -*- */
2 //=============================================================================
3 /**
4 * @file FT_FaultEventDescriptor.h
6 * This file is part of TAO's implementation of Fault Tolerant CORBA.
8 * @author Steve Totten <totten_s@ociweb.com>
9 */
10 //=============================================================================
13 #ifndef FT_FAULT_EVENT_DESCRIPTOR_H_
14 #define FT_FAULT_EVENT_DESCRIPTOR_H_
16 #include /**/ "ace/pre.h"
17 #include <ace/ACE.h>
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 #pragma once
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "orbsvcs/FT_CORBAC.h"
24 #include "orbsvcs/PortableGroupC.h"
25 #include "FT_ReplicationManagerLib_export.h"
27 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
29 namespace TAO
31 /// Helper class for describing the properties in a fault event.
32 struct TAO_ReplicationManagerLib_Export FT_FaultEventDescriptor
34 public:
35 /// Default constructor.
36 FT_FaultEventDescriptor ();
38 /// Debugging support.
39 void dump ();
41 /////////////////
42 /// Data members.
44 /// Flags indicating the "extent" of the fault.
45 int all_at_location_failed;
46 int all_of_type_at_location_failed;
47 int object_at_location_failed;
48 int object_is_primary;
50 /// The location of the fault.
51 PortableGroup::Location_var location;
53 /// The TypeId of the object that faulted.
54 PortableGroup::TypeId_var type_id;
56 /// The ObjectGroupId of the faulted object.
57 PortableGroup::ObjectGroupId object_group_id;
59 /// Other properties of the object group to which the fault relates.
60 PortableGroup::MembershipStyleValue membership_style;
61 FT::ReplicationStyleValue replication_style;
62 PortableGroup::MinimumNumberMembersValue minimum_number_members;
63 PortableGroup::InitialNumberMembersValue initial_number_members;
65 /// The object group's factories.
66 PortableGroup::FactoryInfos_var factories;
68 } // namespace TAO
70 TAO_END_VERSIONED_NAMESPACE_DECL
72 #include /**/ "ace/post.h"
74 #endif /* FT_FAULT_EVENT_DESCRIPTOR_H_ */