summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cpp/Gen.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2cpp/Gen.h')
-rw-r--r--cpp/src/slice2cpp/Gen.h90
1 files changed, 70 insertions, 20 deletions
diff --git a/cpp/src/slice2cpp/Gen.h b/cpp/src/slice2cpp/Gen.h
index 2a70c01c66f..5074240bc73 100644
--- a/cpp/src/slice2cpp/Gen.h
+++ b/cpp/src/slice2cpp/Gen.h
@@ -37,8 +37,8 @@ public:
void generate(const UnitPtr&);
void closeOutput();
- static bool setUseWstring(ContainedPtr, std::list<bool>&, bool);
- static bool resetUseWstring(std::list<bool>&);
+ static int setUseWstring(ContainedPtr, std::list<int>&, int);
+ static int resetUseWstring(std::list<int>&);
private:
@@ -100,8 +100,8 @@ private:
std::string _dllExport;
bool _stream;
bool _doneStaticSymbol;
- bool _useWstring;
- std::list<bool> _useWstringHist;
+ int _useWstring;
+ std::list<int> _useWstringHist;
};
class ProxyDeclVisitor : private ::IceUtil::noncopyable, public ParserVisitor
@@ -144,8 +144,8 @@ private:
::IceUtilInternal::Output& C;
std::string _dllExport;
- bool _useWstring;
- std::list<bool> _useWstringHist;
+ int _useWstring;
+ std::list<int> _useWstringHist;
};
class DelegateVisitor : private ::IceUtil::noncopyable, public ParserVisitor
@@ -168,8 +168,8 @@ private:
::IceUtilInternal::Output& C;
std::string _dllExport;
- bool _useWstring;
- std::list<bool> _useWstringHist;
+ int _useWstring;
+ std::list<int> _useWstringHist;
};
class DelegateMVisitor : private ::IceUtil::noncopyable, public ParserVisitor
@@ -192,8 +192,8 @@ private:
::IceUtilInternal::Output& C;
std::string _dllExport;
- bool _useWstring;
- std::list<bool> _useWstringHist;
+ int _useWstring;
+ std::list<int> _useWstringHist;
};
class DelegateDVisitor : private ::IceUtil::noncopyable, public ParserVisitor
@@ -216,8 +216,8 @@ private:
::IceUtilInternal::Output& C;
std::string _dllExport;
- bool _useWstring;
- std::list<bool> _useWstringHist;
+ int _useWstring;
+ std::list<int> _useWstringHist;
};
class ObjectDeclVisitor : private ::IceUtil::noncopyable, public ParserVisitor
@@ -268,8 +268,58 @@ private:
std::string _dllExport;
bool _stream;
bool _doneStaticSymbol;
- bool _useWstring;
- std::list<bool> _useWstringHist;
+ int _useWstring;
+ std::list<int> _useWstringHist;
+ };
+
+ class AsyncCallbackVisitor : private ::IceUtil::noncopyable, public ParserVisitor
+ {
+ public:
+
+ AsyncCallbackVisitor(::IceUtilInternal::Output&, ::IceUtilInternal::Output&, const std::string&);
+
+ virtual bool visitUnitStart(const UnitPtr&);
+ virtual void visitUnitEnd(const UnitPtr&);
+ virtual bool visitModuleStart(const ModulePtr&);
+ virtual void visitModuleEnd(const ModulePtr&);
+ virtual bool visitClassDefStart(const ClassDefPtr&);
+ virtual void visitClassDefEnd(const ClassDefPtr&);
+ virtual void visitOperation(const OperationPtr&);
+
+ private:
+
+ ::IceUtilInternal::Output& H;
+ ::IceUtilInternal::Output& C;
+
+ std::string _dllExport;
+ int _useWstring;
+ std::list<int> _useWstringHist;
+ };
+
+ class AsyncCallbackTemplateVisitor : private ::IceUtil::noncopyable, public ParserVisitor
+ {
+ public:
+
+ AsyncCallbackTemplateVisitor(::IceUtilInternal::Output&, ::IceUtilInternal::Output&, const std::string&);
+
+ virtual bool visitUnitStart(const UnitPtr&);
+ virtual void visitUnitEnd(const UnitPtr&);
+ virtual bool visitModuleStart(const ModulePtr&);
+ virtual void visitModuleEnd(const ModulePtr&);
+ virtual bool visitClassDefStart(const ClassDefPtr&);
+ virtual void visitClassDefEnd(const ClassDefPtr&);
+ virtual void visitOperation(const OperationPtr&);
+
+ private:
+
+ void generateOperation(const OperationPtr&, bool);
+
+ ::IceUtilInternal::Output& H;
+ ::IceUtilInternal::Output& C;
+
+ std::string _dllExport;
+ int _useWstring;
+ std::list<int> _useWstringHist;
};
class IceInternalVisitor : private ::IceUtil::noncopyable, public ParserVisitor
@@ -327,8 +377,8 @@ private:
::IceUtilInternal::Output& C;
std::string _dllExport;
- bool _useWstring;
- std::list<bool> _useWstringHist;
+ int _useWstring;
+ std::list<int> _useWstringHist;
//
// Generate code to emit a local variable declaration and initialize it
@@ -360,8 +410,8 @@ private:
::IceUtilInternal::Output& C;
std::string _dllExport;
- bool _useWstring;
- std::list<bool> _useWstringHist;
+ int _useWstring;
+ std::list<int> _useWstringHist;
};
class AsyncImplVisitor : private ::IceUtil::noncopyable, public ParserVisitor
@@ -384,8 +434,8 @@ private:
::IceUtilInternal::Output& C;
std::string _dllExport;
- bool _useWstring;
- std::list<bool> _useWstringHist;
+ int _useWstring;
+ std::list<int> _useWstringHist;
};
class StreamVisitor : private ::IceUtil::noncopyable, public ParserVisitor