summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java/Gen.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2java/Gen.h')
-rw-r--r--cpp/src/slice2java/Gen.h33
1 files changed, 26 insertions, 7 deletions
diff --git a/cpp/src/slice2java/Gen.h b/cpp/src/slice2java/Gen.h
index 6b44b449a36..e8b12e3743b 100644
--- a/cpp/src/slice2java/Gen.h
+++ b/cpp/src/slice2java/Gen.h
@@ -32,9 +32,10 @@ protected:
// Compose the parameter lists for an operation.
//
std::vector<std::string> getParams(const OperationPtr&, const std::string&, bool = false);
- std::vector<std::string> getInOutParams(const OperationPtr&, const std::string&, ParamDir);
+ std::vector<std::string> getParamsProxy(const OperationPtr&, const std::string&, bool = false);
+ std::vector<std::string> getInOutParams(const OperationPtr&, const std::string&, ParamDir, bool);
std::vector<std::string> getParamsAsync(const OperationPtr&, const std::string&, bool);
- std::vector<std::string> getParamsAsyncCB(const OperationPtr&, const std::string&);
+ std::vector<std::string> getParamsAsyncCB(const OperationPtr&, const std::string&, bool);
//
// Compose the argument lists for an operation.
@@ -44,6 +45,9 @@ protected:
std::vector<std::string> getArgsAsync(const OperationPtr&);
std::vector<std::string> getArgsAsyncCB(const OperationPtr&);
+ void writeMarshalUnmarshalParams(::IceUtilInternal::Output&, const std::string&, const ParamDeclList&,
+ const OperationPtr&, int&, bool, bool, bool = false);
+
//
// Generate a throws clause containing only non-local exceptions.
//
@@ -62,6 +66,21 @@ protected:
const std::list<std::string>& = std::list<std::string>());
//
+ // Marshal/unmarshal a data member.
+ //
+ void writeMarshalDataMember(::IceUtilInternal::Output&, const std::string&, const DataMemberPtr&, int&);
+ void writeUnmarshalDataMember(::IceUtilInternal::Output&, const std::string&, const DataMemberPtr&, int&,
+ bool, int&);
+ void writeStreamMarshalDataMember(::IceUtilInternal::Output&, const std::string&, const DataMemberPtr&, int&);
+ void writeStreamUnmarshalDataMember(::IceUtilInternal::Output&, const std::string&, const DataMemberPtr&, int&,
+ bool, int&);
+
+ //
+ // Generate a patcher class.
+ //
+ void writePatcher(::IceUtilInternal::Output&, const std::string&, const DataMemberList&, bool);
+
+ //
// Generate dispatch and marshalling methods for a class or interface.
//
void writeDispatchAndMarshalling(::IceUtilInternal::Output&, const ClassDefPtr&, bool);
@@ -164,10 +183,9 @@ private:
private:
//
- // Verifies that a getter/setter method does not conflict with an operation.
+ // Verifies that a data member method does not conflict with an operation.
//
- bool validateGetterSetter(const OperationList&, const std::string&, int, const std::string&,
- const std::string&);
+ bool validateMethod(const OperationList&, const std::string&, int, const std::string&, const std::string&);
bool _stream;
};
@@ -271,12 +289,13 @@ private:
// Generate code to emit a local variable declaration and initialize it
// if necessary.
//
- void writeDecl(::IceUtilInternal::Output&, const std::string&, const std::string&, const TypePtr&, const StringList&);
+ void writeDecl(::IceUtilInternal::Output&, const std::string&, const std::string&, const TypePtr&,
+ const StringList&, bool);
//
// Generate code to return a value.
//
- void writeReturn(::IceUtilInternal::Output&, const TypePtr&);
+ void writeReturn(::IceUtilInternal::Output&, const TypePtr&, bool);
//
// Generate an operation.