diff options
Diffstat (limited to 'xsd/xsd/cxx/tree/generator.hxx')
-rw-r--r-- | xsd/xsd/cxx/tree/generator.hxx | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/xsd/xsd/cxx/tree/generator.hxx b/xsd/xsd/cxx/tree/generator.hxx new file mode 100644 index 0000000..2e50392 --- /dev/null +++ b/xsd/xsd/cxx/tree/generator.hxx @@ -0,0 +1,52 @@ +// file : xsd/cxx/tree/generator.hxx +// author : Boris Kolpackov <boris@codesynthesis.com> +// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef CXX_TREE_GENERATOR_HXX +#define CXX_TREE_GENERATOR_HXX + +#include <cult/types.hxx> + +#include <xsd-frontend/semantic-graph/elements.hxx> // Path +#include <xsd-frontend/semantic-graph/schema.hxx> + +#include <xsd.hxx> + +#include <cxx/literal-map.hxx> +#include <cxx/tree/cli.hxx> + +namespace CXX +{ + namespace Tree + { + using namespace Cult::Types; + + class Generator + { + public: + static Void + usage (); + + static CLI::OptionsSpec + options_spec (); + + struct Failed {}; + + static UnsignedLong + generate (CLI::Options const& options, + XSDFrontend::SemanticGraph::Schema&, + XSDFrontend::SemanticGraph::Path const& file, + Boolean file_per_type, + StringLiteralMap const&, + const WarningSet& disabled_warnings, + FileList& file_list, + AutoUnlinks& unlinks); + + private: + Generator (); + }; + } +} + +#endif // CXX_TREE_GENERATOR_HXX |