summaryrefslogtreecommitdiff
path: root/cpp/include/Slice/Preprocessor.h
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2009-09-04 16:22:16 -0700
committerMark Spruiell <mes@zeroc.com>2009-09-04 16:22:16 -0700
commit6eecee0c43e73da2d52929155c3ada9b32081dce (patch)
tree18f12e3d1937073976eb10746221f9ae5d4731fb /cpp/include/Slice/Preprocessor.h
parentbug 4196 - add class loader to InitializationData (diff)
downloadice-6eecee0c43e73da2d52929155c3ada9b32081dce.tar.bz2
ice-6eecee0c43e73da2d52929155c3ada9b32081dce.tar.xz
ice-6eecee0c43e73da2d52929155c3ada9b32081dce.zip
bug 3737:
- Remove Python workaround for 3.3.1 - Make Slice::Preprocessor a dynamically allocated class
Diffstat (limited to 'cpp/include/Slice/Preprocessor.h')
-rw-r--r--cpp/include/Slice/Preprocessor.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/cpp/include/Slice/Preprocessor.h b/cpp/include/Slice/Preprocessor.h
index 1f6333cc8c5..f83c42bc30b 100644
--- a/cpp/include/Slice/Preprocessor.h
+++ b/cpp/include/Slice/Preprocessor.h
@@ -10,13 +10,13 @@
#ifndef PREPROCESSOR_H
#define PREPROCESSOR_H
-#include <IceUtil/Config.h>
+#include <IceUtil/Shared.h>
+#include <IceUtil/Handle.h>
#include <vector>
#ifdef __BCPLUSPLUS__
# include <stdio.h>
#endif
-
#ifndef SLICE_API
# ifdef SLICE_API_EXPORTS
# define SLICE_API ICE_DECLSPEC_EXPORT
@@ -28,27 +28,33 @@
namespace Slice
{
-class SLICE_API Preprocessor
+class Preprocessor;
+typedef IceUtil::Handle<Preprocessor> PreprocessorPtr;
+
+class SLICE_API Preprocessor : public IceUtil::SimpleShared
{
public:
- Preprocessor(const std::string&, const std::string&, const std::vector<std::string>&);
+ static PreprocessorPtr create(const std::string&, const std::string&, const std::vector<std::string>&);
+
~Preprocessor();
-
+
FILE* preprocess(bool);
bool close();
- enum Language { CPlusPlus, Java, JavaXML, CSharp, VisualBasic };
+ enum Language { CPlusPlus, Java, JavaXML, CSharp };
bool printMakefileDependencies(Language, const std::vector<std::string>&, const std::string& = "cpp");
-
+
std::string getBaseName();
static std::string addQuotes(const std::string&);
static std::string normalizeIncludePath(const std::string&);
private:
-
+
+ Preprocessor(const std::string&, const std::string&, const std::vector<std::string>&);
+
bool checkInputFile();
const std::string _path;