diff options
Diffstat (limited to 'cpp/src/slice2cpp/Gen.cpp')
-rw-r--r-- | cpp/src/slice2cpp/Gen.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index 990ddd57d47..f017ad66b4b 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -2691,6 +2691,8 @@ Slice::Gen::ObjectVisitor::visitClassDefEnd(const ClassDefPtr& p) if(preserved && !basePreserved) { + H << sp << nl << "virtual ::Ice::SlicedDataPtr ice_getSlicedData() const;"; + H << sp; H << nl << "virtual void _iceWrite(::Ice::OutputStream*) const;"; H << nl << "virtual void _iceRead(::Ice::InputStream*);"; @@ -2707,6 +2709,12 @@ Slice::Gen::ObjectVisitor::visitClassDefEnd(const ClassDefPtr& p) if(preserved && !basePreserved) { C << sp; + C << nl << "::Ice::SlicedDataPtr" << nl << scoped.substr(2) << "::ice_getSlicedData() const"; + C << sb; + C << nl << "return _iceSlicedData;"; + C << eb; + + C << sp; C << nl << "void" << nl << scoped.substr(2) << "::_iceWrite(::Ice::OutputStream* ostr) const"; C << sb; C << nl << "ostr->startValue(_iceSlicedData);"; @@ -7314,6 +7322,14 @@ Slice::Gen::Cpp11ValueVisitor::visitClassDefEnd(const ClassDefPtr& p) if(preserved && !basePreserved) { + H << sp << nl << "virtual ::std::shared_ptr<::Ice::SlicedData> ice_getSlicedData() const override;"; + + C << sp; + C << nl << "::std::shared_ptr<::Ice::SlicedData>" << nl << scoped.substr(2) << "::ice_getSlicedData() const"; + C << sb; + C << nl << "return _iceSlicedData;"; + C << eb; + H << sp; H << nl << "virtual void _iceWrite(::Ice::OutputStream*) const override;"; H << nl << "virtual void _iceRead(::Ice::InputStream*) override;"; |