summaryrefslogtreecommitdiff
path: root/cpp/include
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include')
-rw-r--r--cpp/include/Slice/Preprocessor.h6
-rw-r--r--cpp/include/Slice/Util.h18
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