// ********************************************************************** // // Copyright (c) 2001 // Mutable Realms, Inc. // Huntsville, AL, USA // // All Rights Reserved // // ********************************************************************** #ifndef GEN_H #define GEN_H #include #include namespace IceUtil { class XMLOutput; } namespace Slice { class Gen : public ::IceUtil::noncopyable, public ParserVisitor { public: Gen(const std::string&, const std::string&, const std::string&, const std::vector&, const std::string&); virtual ~Gen(); virtual bool visitClassDefStart(const ClassDefPtr&); private: void emitMessage(::IceUtil::XMLOutput&, const OperationPtr&); void emitOperation(::IceUtil::XMLOutput&, const OperationPtr&); void printHeader(::IceUtil::XMLOutput&); std::string containedToId(const ContainedPtr&); std::string _name; std::string _base; std::string _include; std::string _orgName; std::vector _includePaths; std::string _dir; }; } #endif