Merge pull request #2301 from sonndinh/remove-dup-reactor-functions
[ACE_TAO.git] / TAO / TAO_IDL / be_include / be_visitor_component / component.h
bloba84e1631b05005ef95c51d7c87f8cefa9272445f
1 /* -*- c++ -*- */
3 //=============================================================================
4 /**
5 * @file component.h
7 * Concrete visitor for components
8 * This one provides the generic visitor for the be_component node.
10 * @author Jeff Parsons
12 //=============================================================================
14 #ifndef _BE_VISITOR_COMPONENT_COMPONENT_H_
15 #define _BE_VISITOR_COMPONENT_COMPONENT_H_
17 /**
18 * @class be_visitor_component
20 * @brief be_visitor_component
22 * This is a concrete visitor for component
23 * that abstracts all common tasks.
25 class be_visitor_component : public be_visitor_interface
27 public:
28 be_visitor_component (be_visitor_context *ctx);
30 ~be_visitor_component ();
32 /// This is the only type of declaration a component may contain.
33 virtual int visit_attribute (be_attribute *node);
35 /// Operations are created by the back end for 'provides', 'uses', 'emits',
36 /// 'publishes' and 'consumes' declarations.
37 virtual int visit_operation (be_operation *node);
39 /// Structs and sequences are created by the back end for 'uses multiple'
40 /// declarations.
41 virtual int visit_structure (be_structure *node);
42 virtual int visit_typedef (be_typedef *node);
44 /// Overridden to pick up attribute declarations from a porrttype.
45 virtual int visit_extended_port (be_extended_port *node);
46 virtual int visit_mirror_port (be_mirror_port *node);
49 #endif /* _BE_VISITOR_MODULE_MODULE_H_ */