summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/FT_Notifier.idl
blob: de0e071b58a9b192d083f3101522392cbbb8bde5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/* -*- IDL -*- */
//=============================================================================
/**
 *  @file    FT_Notifier.idl
 *
 *  $Id$
 *
 *  This file is part of Fault Tolerant CORBA.
 *  This was original part of the OMG FT.idl file
 *
 *  @author Dale Wilson <wilson_d@ociweb.com>
 */
//=============================================================================

#ifndef _FT_NOTIFIER_IDL_
#define _FT_NOTIFIER_IDL_

///////////////////////////////
// TAO specific includes
#include "orbsvcs/orbsvcs/FT_CORBA_ORB.idl"
#include "orbsvcs/orbsvcs/FT_Replica.idl"
// end of TAO specific includes
///////////////////////////////

#include "orbsvcs/orbsvcs/CosNaming.idl" // 98-10-19.idl
#include "orbsvcs/orbsvcs/CosNotification.idl" // from telecom/98-11-03.idl

// added to OMG version:
#include "orbsvcs/orbsvcs/CosNotifyFilter.idl"

#pragma prefix "omg.org"

module FT
{
  // Specifications for Fault Management
  // Specification of FaultNotifier Interface
  // TAO SPECIFIC:  added inheritence from PullMonitorable
  interface FaultNotifier  : ::FT::PullMonitorable
  {
    typedef unsigned long long ConsumerId;
    void push_structured_fault( in CosNotification::StructuredEvent
                                event);
    void push_sequence_fault( in CosNotification::EventBatch events);
    CosNotifyFilter::Filter create_subscription_filter (in string
                                                        constraint_grammar)
      raises (CosNotifyFilter::InvalidGrammar);
    ConsumerId connect_structured_fault_consumer(in CosNotifyComm::StructuredPushConsumer push_consumer,
                                                 in CosNotifyFilter::Filter filter) ;

    ConsumerId connect_sequence_fault_consumer(in
                                               CosNotifyComm::SequencePushConsumer push_consumer,
                                               in
                                               CosNotifyFilter::Filter
                                               filter);

    void disconnect_consumer( in ConsumerId connection)
    raises(CosEventComm::Disconnected);
  };
};


#endif // for #ifndef _FT_NOTIFIER_IDL_