diff options
author | Jose <jose@zeroc.com> | 2009-11-26 22:58:16 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2009-11-26 22:58:16 +0100 |
commit | 9aef7822702155a4bd562765c672d73dcbe8b471 (patch) | |
tree | 984b00a3fea5615b594e3e857eadceeb5766283c /cpp/src | |
parent | Added generated directory for invoke test (diff) | |
download | ice-9aef7822702155a4bd562765c672d73dcbe8b471.tar.bz2 ice-9aef7822702155a4bd562765c672d73dcbe8b471.tar.xz ice-9aef7822702155a4bd562765c672d73dcbe8b471.zip |
4385 - new StreamApi & UserExecption
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/slice2cpp/Gen.cpp | 21 | ||||
-rw-r--r-- | cpp/src/slice2cpp/Gen.h | 2 |
2 files changed, 23 insertions, 0 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index 1b0dd3d0294..fa2e480a625 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -6636,6 +6636,27 @@ Slice::Gen::StreamVisitor::visitModuleEnd(const ModulePtr&) } bool +Slice::Gen::StreamVisitor::visitExceptionStart(const ExceptionPtr& p) +{ + if(!p->isLocal()) + { + string scoped = p->scoped(); + H << nl << sp << "template<>"; + H << nl << "struct StreamTrait< " << fixKwd(scoped) << " >" << nl; + H << sb; + H << nl << "static const ::Ice::StreamTraitType type = ::Ice::StreamTraitTypeUserException;" << nl; + H << nl << "static const int enumLimit = 0;"; + H << eb << ";" << nl; + } + return true; +} + +void +Slice::Gen::StreamVisitor::visitExceptionEnd(const ExceptionPtr&) +{ +} + +bool Slice::Gen::StreamVisitor::visitStructStart(const StructPtr& p) { if(!p->isLocal()) diff --git a/cpp/src/slice2cpp/Gen.h b/cpp/src/slice2cpp/Gen.h index 5074240bc73..a7834e9c75e 100644 --- a/cpp/src/slice2cpp/Gen.h +++ b/cpp/src/slice2cpp/Gen.h @@ -448,6 +448,8 @@ private: virtual void visitModuleEnd(const ModulePtr&); virtual bool visitStructStart(const StructPtr&); virtual void visitStructEnd(const StructPtr&); + virtual bool visitExceptionStart(const ExceptionPtr&); + virtual void visitExceptionEnd(const ExceptionPtr&); virtual void visitEnum(const EnumPtr&); private: |