summaryrefslogtreecommitdiff
path: root/CIAO/CIDLC/ExecImplGenerator.hpp
diff options
context:
space:
mode:
authorAbdullah Sowayan <sowayan@users.noreply.github.com>2007-03-18 22:23:37 +0000
committerAbdullah Sowayan <sowayan@users.noreply.github.com>2007-03-18 22:23:37 +0000
commit06a34455bd98b1379cc69bbc5b2cf085e0fc0d9b (patch)
tree8815ce3b3a85c3c4285429295f338e00ea4497f4 /CIAO/CIDLC/ExecImplGenerator.hpp
parentd66fcc9b4aaec8e88eeb83fc578fdf8a3cc963de (diff)
downloadATCD-06a34455bd98b1379cc69bbc5b2cf085e0fc0d9b.tar.gz
Diffstat (limited to 'CIAO/CIDLC/ExecImplGenerator.hpp')
-rw-r--r--CIAO/CIDLC/ExecImplGenerator.hpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/CIAO/CIDLC/ExecImplGenerator.hpp b/CIAO/CIDLC/ExecImplGenerator.hpp
new file mode 100644
index 00000000000..51536b3aaa3
--- /dev/null
+++ b/CIAO/CIDLC/ExecImplGenerator.hpp
@@ -0,0 +1,44 @@
+// file : CIDLC/ExecImplGenerator.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef EXEC_IMPL_GENERATOR_HPP
+#define EXEC_IMPL_GENERATOR_HPP
+
+#include "CCF/CodeGenerationKit/CommandLine.hpp"
+#include "CCF/CodeGenerationKit/CommandLineDescriptor.hpp"
+
+#include "CCF/CIDL/SemanticGraph.hpp"
+#include "CCF/CIDL/Traversal.hpp"
+
+class ExecImplGenerator
+{
+public:
+ static void
+ options (CL::Description& d);
+
+ ExecImplGenerator (CommandLine const& cl);
+
+ void
+ generate (CCF::CIDL::SemanticGraph::TranslationUnit&,
+ fs::path const& file);
+
+private:
+ void
+ compute_export_macro (const fs::path& file_path);
+
+ std::ostream&
+ configure_stream (std::string const& suffix_option,
+ std::string const& default_suffix,
+ std::string const& regex_option,
+ fs::ofstream& ofs);
+
+private:
+ CommandLine const& cl_;
+ std::string file_name_;
+ std::string export_macro_;
+};
+
+
+#endif // EXEC_IMPL_GENERATOR_HPP
+