diff options
Diffstat (limited to 'modules/TAO/TAO_IDL/be_include/be_visitor_component/context_svh.h')
-rw-r--r-- | modules/TAO/TAO_IDL/be_include/be_visitor_component/context_svh.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/modules/TAO/TAO_IDL/be_include/be_visitor_component/context_svh.h b/modules/TAO/TAO_IDL/be_include/be_visitor_component/context_svh.h new file mode 100644 index 00000000000..c82c5cd6410 --- /dev/null +++ b/modules/TAO/TAO_IDL/be_include/be_visitor_component/context_svh.h @@ -0,0 +1,60 @@ +// +// $Id$ +// +/* -*- c++ -*- */ +// ============================================================================ +// +// = LIBRARY +// TAO IDL +// +// = FILENAME +// context_svh.h +// +// = DESCRIPTION +// Concrete visitor for the Component node. +// This provides for code generation for the Context +// class declaration +// +// = AUTHOR +// Jeff Parsons +// +// ============================================================================ + +#ifndef _BE_COMPONENT_CONTEXT_SVH_H_ +#define _BE_COMPONENT_CONTEXT_SVH_H_ + +class be_visitor_context_svh : public be_visitor_scope +{ + // + // = TITLE + // be_visitor_context_svh + // + // = DESCRIPTION + // This is a concrete visitor to generate the context class decl + // for a component. + // + // +public: + be_visitor_context_svh (be_visitor_context *ctx); + + ~be_visitor_context_svh (void); + + virtual int visit_component (be_component *node); + virtual int visit_uses (be_uses *node); + virtual int visit_publishes (be_publishes *node); + virtual int visit_emits (be_emits *node); + virtual int visit_extended_port (be_extended_port *node); + virtual int visit_mirror_port (be_mirror_port *node); + +private: + int gen_context_r (be_component *node); + +private: + be_component *node_; + TAO_OutStream &os_; + ACE_CString export_macro_; + bool swapping_; +}; + +#endif /* _BE_COMPONENT_CONTEXT_SVH_H_ */ + |