~ubuntu-branches/ubuntu/breezy/ace/breezy

« back to all changes in this revision

Viewing changes to TAO/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad, Benjamin Montgomery, Adam Conrad
  • Date: 2005-09-18 22:51:38 UTC
  • mfrom: (1.2.1 upstream) (2.1.1 sarge) (0.1.2 woody)
  • Revision ID: james.westby@ubuntu.com-20050918225138-seav22q6fyylb536
Tags: 5.4.7-3ubuntu1
[ Benjamin Montgomery ]
* Added a patch for amd64 and powerpc that disables the compiler
  option -fvisibility-inlines-hidden

[ Adam Conrad ]
* Added DPATCH_OPTION_CPP=1 to debian/patches/00options to make
  Benjamin's above changes work correctly with dpatch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* -*- C++ -*- */
2
 
/**
3
 
 *  @file EC_RTCORBA_Factory.h
4
 
 *
5
 
 *  EC_RTCORBA_Factory.h,v 1.4 2003/07/21 06:42:28 jwillemsen Exp
6
 
 *
7
 
 *  @author Carlos O'Ryan (coryan@cs.wustl.edu)
8
 
 *
9
 
 * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and
10
 
 * other members of the DOC group. More details can be found in:
11
 
 *
12
 
 * http://doc.ece.uci.edu/~coryan/EC/index.html
13
 
 */
14
 
 
15
 
#ifndef TAO_EC_RTCORBA_FACTORY_H
16
 
#define TAO_EC_RTCORBA_FACTORY_H
17
 
#include /**/ "ace/pre.h"
18
 
 
19
 
#include "rtcorba_event_export.h"
20
 
#include "EC_Factory.h"
21
 
#include "tao/RTCORBA/RTCORBA.h"
22
 
 
23
 
#if !defined (ACE_LACKS_PRAGMA_ONCE)
24
 
# pragma once
25
 
#endif /* ACE_LACKS_PRAGMA_ONCE */
26
 
 
27
 
/**
28
 
 * @class TAO_EC_RTCORBA_Factory
29
 
 *
30
 
 * @brief Decorate an EC_Factory to use the EC_RTCORBA_Dispatching
31
 
 * module.
32
 
 */
33
 
class TAO_RTCORBAEvent_Export TAO_EC_RTCORBA_Factory : public TAO_EC_Factory
34
 
{
35
 
public:
36
 
  /// Constructor
37
 
  /**
38
 
   * @param body The decorated factory.
39
 
   */
40
 
  TAO_EC_RTCORBA_Factory (TAO_EC_Factory *body,
41
 
                          const RTCORBA::ThreadpoolLanes &lanes);
42
 
 
43
 
  /// destructor...
44
 
  virtual ~TAO_EC_RTCORBA_Factory (void);
45
 
 
46
 
  // Decorated methods...
47
 
  virtual int init (int argc, char* argv[]);
48
 
  virtual int fini (void);
49
 
  virtual TAO_EC_Dispatching*
50
 
      create_dispatching (TAO_EC_Event_Channel_Base*);
51
 
  virtual void
52
 
      destroy_dispatching (TAO_EC_Dispatching*) ;
53
 
  virtual TAO_EC_Filter_Builder*
54
 
      create_filter_builder (TAO_EC_Event_Channel_Base*)  ;
55
 
  virtual void
56
 
      destroy_filter_builder (TAO_EC_Filter_Builder*);
57
 
  virtual TAO_EC_Supplier_Filter_Builder*
58
 
      create_supplier_filter_builder (TAO_EC_Event_Channel_Base*)  ;
59
 
  virtual void
60
 
      destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder*);
61
 
  virtual TAO_EC_ConsumerAdmin*
62
 
      create_consumer_admin (TAO_EC_Event_Channel_Base*) ;
63
 
  virtual void
64
 
      destroy_consumer_admin (TAO_EC_ConsumerAdmin*);
65
 
  virtual TAO_EC_SupplierAdmin*
66
 
      create_supplier_admin (TAO_EC_Event_Channel_Base*) ;
67
 
  virtual void
68
 
      destroy_supplier_admin (TAO_EC_SupplierAdmin*);
69
 
  virtual TAO_EC_ProxyPushSupplier*
70
 
      create_proxy_push_supplier (TAO_EC_Event_Channel_Base*);
71
 
  virtual void
72
 
      destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier*);
73
 
  virtual TAO_EC_ProxyPushConsumer*
74
 
      create_proxy_push_consumer (TAO_EC_Event_Channel_Base*);
75
 
  virtual void
76
 
      destroy_proxy_push_consumer (TAO_EC_ProxyPushConsumer*);
77
 
  virtual TAO_EC_Timeout_Generator*
78
 
      create_timeout_generator (TAO_EC_Event_Channel_Base*) ;
79
 
  virtual void
80
 
      destroy_timeout_generator (TAO_EC_Timeout_Generator*);
81
 
  virtual TAO_EC_ObserverStrategy*
82
 
      create_observer_strategy (TAO_EC_Event_Channel_Base*);
83
 
  virtual void
84
 
      destroy_observer_strategy (TAO_EC_ObserverStrategy*);
85
 
  virtual TAO_EC_Scheduling_Strategy*
86
 
      create_scheduling_strategy (TAO_EC_Event_Channel_Base*);
87
 
  virtual void
88
 
      destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy*);
89
 
  virtual TAO_EC_ProxyPushConsumer_Collection*
90
 
      create_proxy_push_consumer_collection (TAO_EC_Event_Channel_Base*);
91
 
  virtual void
92
 
      destroy_proxy_push_consumer_collection (TAO_EC_ProxyPushConsumer_Collection*);
93
 
  virtual TAO_EC_ProxyPushSupplier_Collection*
94
 
      create_proxy_push_supplier_collection (TAO_EC_Event_Channel_Base*);
95
 
  virtual void
96
 
      destroy_proxy_push_supplier_collection (TAO_EC_ProxyPushSupplier_Collection*);
97
 
  virtual ACE_Lock* create_consumer_lock (void);
98
 
  virtual void destroy_consumer_lock (ACE_Lock*);
99
 
  virtual ACE_Lock* create_supplier_lock (void);
100
 
  virtual void destroy_supplier_lock (ACE_Lock*);
101
 
  virtual TAO_EC_ConsumerControl*
102
 
      create_consumer_control (TAO_EC_Event_Channel_Base*);
103
 
  virtual void
104
 
      destroy_consumer_control (TAO_EC_ConsumerControl*);
105
 
  virtual TAO_EC_SupplierControl*
106
 
      create_supplier_control (TAO_EC_Event_Channel_Base*);
107
 
  virtual void
108
 
      destroy_supplier_control (TAO_EC_SupplierControl*);
109
 
 
110
 
protected:
111
 
  /// The decorated factory
112
 
  TAO_EC_Factory *body_;
113
 
 
114
 
  /// Configure the thread pool lanes.
115
 
  RTCORBA::ThreadpoolLanes lanes_;
116
 
};
117
 
 
118
 
#if defined (__ACE_INLINE__)
119
 
#include "EC_RTCORBA_Factory.inl"
120
 
#endif /* __ACE_INLINE__ */
121
 
 
122
 
#include /**/ "ace/post.h"
123
 
#endif /* TAO_EC_RTCORBA_FACTORY_H */