diff options
author | Austin Henriksen <austin@zeroc.com> | 2018-11-20 15:37:04 -0500 |
---|---|---|
committer | Austin Henriksen <austin@zeroc.com> | 2018-11-20 17:20:19 -0500 |
commit | cc983b65fa72e035ad833336c4edb79acba0a5bd (patch) | |
tree | 6a4c38e62c5a8365dd65b8ab54168477738feb04 /matlab/src/Util.cpp | |
parent | Add version to doxygen config #61 (diff) | |
download | ice-cc983b65fa72e035ad833336c4edb79acba0a5bd.tar.bz2 ice-cc983b65fa72e035ad833336c4edb79acba0a5bd.tar.xz ice-cc983b65fa72e035ad833336c4edb79acba0a5bd.zip |
Added missing exceptions to convertException in MATLAB.
Fixed #248
Diffstat (limited to 'matlab/src/Util.cpp')
-rw-r--r-- | matlab/src/Util.cpp | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/matlab/src/Util.cpp b/matlab/src/Util.cpp index 30605a90eb1..7c65a88c903 100644 --- a/matlab/src/Util.cpp +++ b/matlab/src/Util.cpp @@ -429,6 +429,10 @@ IceMatlab::convertException(const std::exception& exc) { params[idx++] = createIdentity(e.id); } + catch(const Ice::IllegalServantException& e) + { + params[idx++] = createStringFromUTF8(e.reason); + } catch(const Ice::RequestFailedException& e) { params[idx++] = createIdentity(e.id); @@ -449,6 +453,11 @@ IceMatlab::convertException(const std::exception& exc) params[idx++] = mxCreateDoubleScalar(e.error); params[idx++] = createStringFromUTF8(e.host); } + catch(const Ice::BadMagicException& e) + { + params[idx++] = createStringFromUTF8(e.reason); + params[idx++] = createByteList(e.badMagic); + } catch(const Ice::UnsupportedProtocolException& e) { params[idx++] = createStringFromUTF8(e.reason); @@ -461,10 +470,6 @@ IceMatlab::convertException(const std::exception& exc) params[idx++] = createEncodingVersion(e.bad); params[idx++] = createEncodingVersion(e.supported); } - catch(const Ice::ConnectionManuallyClosedException& e) - { - params[idx++] = mxCreateLogicalScalar(e.graceful ? 1 : 0); - } catch(const Ice::NoValueFactoryException& e) { params[idx++] = createStringFromUTF8(e.reason); @@ -480,6 +485,10 @@ IceMatlab::convertException(const std::exception& exc) { params[idx++] = createStringFromUTF8(e.reason); } + catch(const Ice::ConnectionManuallyClosedException& e) + { + params[idx++] = mxCreateLogicalScalar(e.graceful ? 1 : 0); + } catch(const Ice::FeatureNotSupportedException& e) { params[idx++] = createStringFromUTF8(e.unsupportedFeature); @@ -488,10 +497,6 @@ IceMatlab::convertException(const std::exception& exc) { params[idx++] = createStringFromUTF8(e.reason); } - catch(const Ice::IllegalServantException& e) - { - params[idx++] = createStringFromUTF8(e.reason); - } catch(const Ice::LocalException&) { // @@ -599,6 +604,18 @@ IceMatlab::createByteArray(const Ice::Byte* begin, const Ice::Byte* end) } mxArray* +IceMatlab::createByteList(const vector<Ice::Byte>& v) +{ + auto r = mxCreateCellMatrix(1, static_cast<int>(v.size())); + mwIndex i = 0; + for(auto 0 = v.begin(); p != v.end(); ++p, ++i) + { + mxSetCell(r, i, createByte(*p)); + } + return r; +} + +mxArray* IceMatlab::createCertificateList(const vector<IceSSL::CertificatePtr>& v) { auto r = mxCreateCellMatrix(1, static_cast<int>(v.size())); |