Merge pull request #1551 from DOCGroup/plm_jira_333
[ACE_TAO.git] / TAO / orbsvcs / FT_ReplicationManager / FT_DefaultFaultAnalyzer.h
blob992d9d4a0d92ee0fbfe0187f6e788a6dc8f4f103
1 /* -*- C++ -*- */
2 //=============================================================================
3 /**
4 * @file FT_DefaultFaultAnalyzer.h
6 * This file is part of TAO's implementation of Fault Tolerant CORBA.
7 * This is the default implementation of a fault analyzer that
8 * implements the interface of the abstract base class
9 * TAO::FT_FaultAnalyzer.
11 * @author Steve Totten <totten_s@ociweb.com>
13 //=============================================================================
16 #ifndef FT_DEFAULT_FAULT_ANALYZER_H_
17 #define FT_DEFAULT_FAULT_ANALYZER_H_
19 #include /**/ "ace/pre.h"
20 #include <ace/ACE.h>
22 #if !defined (ACE_LACKS_PRAGMA_ONCE)
23 #pragma once
24 #endif /* ACE_LACKS_PRAGMA_ONCE */
26 #include "FT_ReplicationManagerLib_export.h"
27 #include "FT_FaultAnalyzer.h"
29 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
31 namespace TAO
34 /**
35 * Default fault analyzer.
38 class TAO_ReplicationManagerLib_Export FT_DefaultFaultAnalyzer
39 : public ::TAO::FT_FaultAnalyzer
42 public:
43 /**
44 * Default constructor.
46 FT_DefaultFaultAnalyzer ();
48 /**
49 * Destructor.
51 virtual ~FT_DefaultFaultAnalyzer ();
53 public:
55 /**
56 * Validate event type to make sure it is one we can handle.
57 * @param event The structured fault event, as from the Fault Notifier.
58 * @return 0 if it is a valid event type, -1 otherwise.
60 virtual int validate_event_type (
61 const CosNotification::StructuredEvent & event);
63 /**
64 * Analyze a fault event.
65 * @param event The structured fault event, as from the Fault Notifier.
66 * @return 0 on success, -1 on failure.
68 virtual int analyze_fault_event (
69 const CosNotification::StructuredEvent & event);
71 ////////////////////
72 // Forbidden methods
73 private:
74 /// Copy constructor.
75 FT_DefaultFaultAnalyzer (const FT_DefaultFaultAnalyzer & rhs);
76 /// Assignment operator.
77 FT_DefaultFaultAnalyzer & operator = (const FT_DefaultFaultAnalyzer & rhs);
81 } // namespace TAO
83 TAO_END_VERSIONED_NAMESPACE_DECL
85 #include /**/ "ace/post.h"
87 #endif /* FT_DEFAULT_FAULT_ANALYZER_H_ */