Merge pull request #1551 from DOCGroup/plm_jira_333
[ACE_TAO.git] / TAO / orbsvcs / FT_ReplicationManager / FT_FaultEventDescriptor.h
blob1a20aad874221b77452fd9c54dab0c29af52a5e9
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:
36 /// Default constructor.
37 FT_FaultEventDescriptor ();
39 /// Debugging support.
40 void dump ();
42 /////////////////
43 /// Data members.
45 /// Flags indicating the "extent" of the fault.
46 int all_at_location_failed;
47 int all_of_type_at_location_failed;
48 int object_at_location_failed;
49 int object_is_primary;
51 /// The location of the fault.
52 PortableGroup::Location_var location;
54 /// The TypeId of the object that faulted.
55 PortableGroup::TypeId_var type_id;
57 /// The ObjectGroupId of the faulted object.
58 PortableGroup::ObjectGroupId object_group_id;
60 /// Other properties of the object group to which the fault relates.
61 PortableGroup::MembershipStyleValue membership_style;
62 FT::ReplicationStyleValue replication_style;
63 PortableGroup::MinimumNumberMembersValue minimum_number_members;
64 PortableGroup::InitialNumberMembersValue initial_number_members;
66 /// The object group's factories.
67 PortableGroup::FactoryInfos_var factories;
71 } // namespace TAO
73 TAO_END_VERSIONED_NAMESPACE_DECL
75 #include /**/ "ace/post.h"
77 #endif /* FT_FAULT_EVENT_DESCRIPTOR_H_ */