diff options
Diffstat (limited to 'cpp/include')
-rw-r--r-- | cpp/include/Slice/Preprocessor.h | 6 | ||||
-rw-r--r-- | cpp/include/Slice/Util.h | 18 |
2 files changed, 21 insertions, 3 deletions
diff --git a/cpp/include/Slice/Preprocessor.h b/cpp/include/Slice/Preprocessor.h index df17ead72e7..08125e0fb2f 100644 --- a/cpp/include/Slice/Preprocessor.h +++ b/cpp/include/Slice/Preprocessor.h @@ -39,10 +39,10 @@ public: FILE* preprocess(bool, const std::string& = ""); bool close(); - enum Language { CPlusPlus, Java, JavaXML, CSharp, Python, Ruby, PHP, JavaScript, JavaScriptJSON, ObjC }; + enum Language { CPlusPlus, Java, CSharp, Python, Ruby, PHP, JavaScript, JavaScriptJSON, ObjC, SliceXML }; - bool printMakefileDependencies(Language, const std::vector<std::string>&, const std::string& = "", const std::string& = "cpp", - const std::string& = ""); + bool printMakefileDependencies(std::ostream&, Language, const std::vector<std::string>&, const std::string& = "", + const std::string& = "cpp", const std::string& = ""); std::string getBaseName(); diff --git a/cpp/include/Slice/Util.h b/cpp/include/Slice/Util.h index 46df01910a1..9c9118e3740 100644 --- a/cpp/include/Slice/Util.h +++ b/cpp/include/Slice/Util.h @@ -12,6 +12,9 @@ #include <Slice/Parser.h> #include <IceUtil/OutputUtil.h> +#include <IceUtil/FileUtil.h> + +#include <ostream> namespace Slice { @@ -28,6 +31,21 @@ SLICE_API void emitRaw(const char*); SLICE_API std::vector<std::string> filterMcppWarnings(const std::string&); SLICE_API void printGeneratedHeader(IceUtilInternal::Output& out, const std::string&, const std::string& commentStyle = "//"); +class SLICE_API DependOutputUtil : IceUtil::noncopyable +{ +public: + + DependOutputUtil(std::string& file); + ~DependOutputUtil(); + void cleanup(); + std::ostream& os(); + +private: + + const std::string _file; + IceUtilInternal::ofstream _os; +}; + } #endif |