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
38 * Default constructor.
45 virtual ~FT_FaultAnalyzer ();
49 * Validate event type to make sure it is one we can handle.
50 * @param event The structured fault event, as from the Fault Notifier.
51 * @return 0 if it is a valid event type, -1 otherwise.
53 virtual int validate_event_type (
54 const CosNotification::StructuredEvent
& event
) = 0;
57 * Analyze a fault event.
58 * @param event The structured fault event, as from the Fault Notifier.
59 * @return 0 on success, -1 on failure.
61 virtual int analyze_fault_event (
62 const CosNotification::StructuredEvent
& event
) = 0;
68 FT_FaultAnalyzer (const FT_FaultAnalyzer
& rhs
);
69 /// Assignment operator.
70 FT_FaultAnalyzer
& operator = (const FT_FaultAnalyzer
& rhs
);
78 TAO_END_VERSIONED_NAMESPACE_DECL
80 #include /**/ "ace/post.h"
82 #endif /* FT_FAULT_ANALYZER_H_ */