summaryrefslogtreecommitdiff
path: root/modules/CIAO/CIDLC/ServantHeaderGenerator.hpp
diff options
context:
space:
mode:
authorjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-01-29 21:15:18 +0000
committerjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-01-29 21:15:18 +0000
commitb71531b42b3325fd6079a7039aae8641262c8adf (patch)
treea5b9aa16924c541fcb424ee9460b1ac7f5a89352 /modules/CIAO/CIDLC/ServantHeaderGenerator.hpp
parenta0f67cc97c0050d907145e312135b60c0125e56e (diff)
downloadATCD-DS-main.tar.gz
branching/taggingDS-main
Diffstat (limited to 'modules/CIAO/CIDLC/ServantHeaderGenerator.hpp')
-rw-r--r--modules/CIAO/CIDLC/ServantHeaderGenerator.hpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/modules/CIAO/CIDLC/ServantHeaderGenerator.hpp b/modules/CIAO/CIDLC/ServantHeaderGenerator.hpp
new file mode 100644
index 00000000000..91e881e1411
--- /dev/null
+++ b/modules/CIAO/CIDLC/ServantHeaderGenerator.hpp
@@ -0,0 +1,54 @@
+// file : CIDLC/ServantHeaderGenerator.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef SERVANT_HEADER_GENERATOR_HPP
+#define SERVANT_HEADER_GENERATOR_HPP
+
+#include <string>
+#include <iosfwd>
+
+#include "EmitterContext.hpp"
+
+#include "CCF/CodeGenerationKit/CommandLine.hpp"
+
+#include "CCF/CIDL/SemanticGraph.hpp"
+#include "CCF/CIDL/Traversal.hpp"
+
+class ServantHeaderEmitter
+{
+public:
+ ServantHeaderEmitter (std::ostream& os_,
+ CommandLine const& cl,
+ std::string export_macro,
+ fs::path const& file);
+
+ virtual ~ServantHeaderEmitter () {}
+
+ /// Called by the backend driver.
+ virtual void
+ generate (CCF::CIDL::SemanticGraph::TranslationUnit& u);
+
+private:
+ /// Called from generate().
+
+ virtual void
+ pre (CCF::CIDL::SemanticGraph::TranslationUnit& u);
+
+ virtual void
+ generate_facets (CCF::CIDL::SemanticGraph::TranslationUnit& u,
+ Context& c);
+
+ virtual void
+ post (CCF::CIDL::SemanticGraph::TranslationUnit& u);
+
+private:
+ std::ostream& os;
+ CommandLine const& cl_;
+ std::string export_macro_;
+ fs::path file_;
+};
+
+
+#endif // SERVANT_HEADER_GENERATOR_HPP
+