summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java/Gen.h
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2001-12-08 23:16:06 +0000
committerMark Spruiell <mes@zeroc.com>2001-12-08 23:16:06 +0000
commitde3b9ab728ddbac90451194e9d2da998926783df (patch)
tree080704203fe8f20f49edd0033bbcc7b5e58aa08f /cpp/src/slice2java/Gen.h
parenttranslator update (diff)
downloadice-de3b9ab728ddbac90451194e9d2da998926783df.tar.bz2
ice-de3b9ab728ddbac90451194e9d2da998926783df.tar.xz
ice-de3b9ab728ddbac90451194e9d2da998926783df.zip
initial support for proxies, marshalling
Diffstat (limited to 'cpp/src/slice2java/Gen.h')
-rw-r--r--cpp/src/slice2java/Gen.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/cpp/src/slice2java/Gen.h b/cpp/src/slice2java/Gen.h
index b7c92e106c9..e0af88b28d1 100644
--- a/cpp/src/slice2java/Gen.h
+++ b/cpp/src/slice2java/Gen.h
@@ -48,6 +48,8 @@ protected:
// scope is provided, the scope will be removed from the result.
//
std::string getAbsolute(const std::string&,
+ const std::string& = std::string(),
+ const std::string& = std::string(),
const std::string& = std::string()) const;
//
@@ -64,6 +66,34 @@ protected:
std::string typeToString(const TypePtr&, TypeMode mode,
const std::string& = std::string()) const;
+ //
+ // Compose the parameter list for an operation
+ //
+ std::string getParams(const OperationPtr&, const std::string&);
+
+ //
+ // Compose the argument list for an operation
+ //
+ std::string getArgs(const OperationPtr&, const std::string&);
+
+ //
+ // Generate a throws clause containing only non-local exceptions
+ //
+ void writeThrowsClause(const std::string&, const ExceptionList&);
+
+ //
+ // Generate a throws clause for delegate operations containing only
+ // non-local exceptions
+ //
+ void writeDelegateThrowsClause(const std::string&, const ExceptionList&);
+
+ //
+ // Generate code to marshal or unmarshal a type
+ //
+ void writeMarshalUnmarshalCode(Output&, const std::string&, const TypePtr&,
+ const std::string&, bool, int&,
+ bool = false);
+
private:
void printHeader();
@@ -143,6 +173,44 @@ private:
virtual void visitDictionary(const DictionaryPtr&);
virtual void visitEnum(const EnumPtr&);
};
+
+ class ProxyVisitor : public JavaVisitor
+ {
+ public:
+
+ ProxyVisitor(const std::string&, const std::string&);
+
+ virtual bool visitClassDefStart(const ClassDefPtr&);
+ virtual void visitClassDefEnd(const ClassDefPtr&);
+ virtual void visitOperation(const OperationPtr&);
+ };
+
+ class ProxyHelperVisitor : public JavaVisitor
+ {
+ public:
+
+ ProxyHelperVisitor(const std::string&, const std::string&);
+
+ virtual bool visitClassDefStart(const ClassDefPtr&);
+ };
+
+ class DelegateVisitor : public JavaVisitor
+ {
+ public:
+
+ DelegateVisitor(const std::string&, const std::string&);
+
+ virtual bool visitClassDefStart(const ClassDefPtr&);
+ };
+
+ class DelegateMVisitor : public JavaVisitor
+ {
+ public:
+
+ DelegateMVisitor(const std::string&, const std::string&);
+
+ virtual bool visitClassDefStart(const ClassDefPtr&);
+ };
};
}