diff options
Diffstat (limited to 'cpp/src/slice2java/Gen.h')
-rw-r--r-- | cpp/src/slice2java/Gen.h | 33 |
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. |