2 //=============================================================================
4 * @file FT_FaultAnalyzer.h
6 * This file is part of TAO's implementation of Fault Tolerant CORBA.
8 * @author Steve Totten <totten_s@ociweb.com>
10 //=============================================================================
13 #ifndef FT_FAULT_ANALYZER_H_
14 #define FT_FAULT_ANALYZER_H_
16 #include /**/ "ace/pre.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "FT_ReplicationManagerLib_export.h"
24 #include "orbsvcs/CosNotifyCommC.h"
26 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
31 * Abstract base class for application-defined fault analyzers.
34 class TAO_ReplicationManagerLib_Export FT_FaultAnalyzer
39 * Default constructor.
46 virtual ~FT_FaultAnalyzer ();
51 * Validate event type to make sure it is one we can handle.
52 * @param event The structured fault event, as from the Fault Notifier.
53 * @return 0 if it is a valid event type, -1 otherwise.
55 virtual int validate_event_type (
56 const CosNotification::StructuredEvent
& event
) = 0;
59 * Analyze a fault event.
60 * @param event The structured fault event, as from the Fault Notifier.
61 * @return 0 on success, -1 on failure.
63 virtual int analyze_fault_event (
64 const CosNotification::StructuredEvent
& event
) = 0;
70 FT_FaultAnalyzer (const FT_FaultAnalyzer
& rhs
);
71 /// Assignment operator.
72 FT_FaultAnalyzer
& operator = (const FT_FaultAnalyzer
& rhs
);
82 TAO_END_VERSIONED_NAMESPACE_DECL
84 #include /**/ "ace/post.h"
86 #endif /* FT_FAULT_ANALYZER_H_ */