#include <Unknown_User_Exception.h>
Public Member Functions | |
UnknownUserException (void) | |
Constructor. | |
UnknownUserException (CORBA::Any &exception) | |
Constructor. | |
UnknownUserException (const UnknownUserException &e) | |
Copy constructor. | |
virtual | ~UnknownUserException (void) |
Destructor. | |
virtual void | _raise (void) const |
To throw an UnknownUserException of this type. | |
virtual CORBA::Exception * | _tao_duplicate (void) const |
Deep copy. | |
virtual void | _tao_encode (TAO_OutputCDR &cdr) const |
virtual void | _tao_decode (TAO_InputCDR &cdr) |
virtual const char * | _rep_id (void) const |
Return the repository ID of the Exception. | |
virtual CORBA::TypeCode_ptr | _tao_type (void) const |
This class has a specific typecode. | |
Static Public Member Functions | |
static UnknownUserException * | _downcast (CORBA::Exception *ex) |
Narrow to an UnknowUserException. | |
static UnknownUserException const * | _downcast (CORBA::Exception const *ex) |
The const version of narrow operation. | |
Public Attributes | |
CORBA::Any &exception | void |
Return the any containing the user exception. | |
Private Attributes | |
CORBA::Any * | exception_ |
Holder for the actual exception. |
When user exceptions are received by a DII invocation the ORB is unable to create the exception with the right dynamic type; to workaround this problem it throws a CORBA::UnknownUserException
that contains the exception inside an Any.
Definition at line 58 of file Unknown_User_Exception.h.
CORBA::UnknownUserException::UnknownUserException | ( | void | ) |
Constructor.
Definition at line 21 of file Unknown_User_Exception.cpp.
: CORBA::UserException ("IDL:omg.org/CORBA/UnknownUserException:1.0", "UnknownUserException"), exception_ (0) { }
CORBA::UnknownUserException::UnknownUserException | ( | CORBA::Any & | exception | ) |
Constructor.
Definition at line 28 of file Unknown_User_Exception.cpp.
: CORBA::UserException ("IDL:omg.org/CORBA/UnknownUserException:1.0", "UnknownUserException") { ACE_NEW (this->exception_, CORBA::Any (ex)); }
CORBA::UnknownUserException::UnknownUserException | ( | const UnknownUserException & | e | ) |
Copy constructor.
Definition at line 36 of file Unknown_User_Exception.cpp.
: CORBA::UserException (e._rep_id (), e._name ()) { ACE_NEW (this->exception_, CORBA::Any (*e.exception_)); }
CORBA::UnknownUserException::~UnknownUserException | ( | void | ) | [virtual] |
CORBA::UnknownUserException * CORBA::UnknownUserException::_downcast | ( | CORBA::Exception * | ex | ) | [static] |
Narrow to an UnknowUserException.
Reimplemented from CORBA::UserException.
Definition at line 58 of file Unknown_User_Exception.cpp.
{ return dynamic_cast<CORBA::UnknownUserException *> (ex); }
CORBA::UnknownUserException const * CORBA::UnknownUserException::_downcast | ( | CORBA::Exception const * | exception | ) | [static] |
The const version of narrow operation.
Reimplemented from CORBA::UserException.
Definition at line 64 of file Unknown_User_Exception.cpp.
{ return dynamic_cast<CORBA::UnknownUserException const *> (ex); }
To throw an UnknownUserException of this type.
Implements CORBA::UserException.
Definition at line 70 of file Unknown_User_Exception.cpp.
{ throw *this; }
const char * CORBA::UnknownUserException::_rep_id | ( | void | ) | const [virtual] |
Return the repository ID of the Exception.
Reimplemented from CORBA::Exception.
Definition at line 100 of file Unknown_User_Exception.cpp.
{ return this->exception_->_tao_get_typecode ()->id (); }
void CORBA::UnknownUserException::_tao_decode | ( | TAO_InputCDR & | cdr | ) | [virtual] |
Implements CORBA::Exception.
Definition at line 94 of file Unknown_User_Exception.cpp.
{ throw ::CORBA::MARSHAL (); }
CORBA::Exception * CORBA::UnknownUserException::_tao_duplicate | ( | void | ) | const [virtual] |
Deep copy.
The following operation is used in the implementation of it performs a deep copy of the exception, normally it is implemented as:
class SomeException : public // Derives from CORBA::Exception { public: virtual CORBA::Exception *_tao_duplicate (void) const { CORBA::Exception *result = 0; ACE_NEW_RETURN ( result, SomeException (*this), 0 ); return result; } };
Implements CORBA::Exception.
Definition at line 76 of file Unknown_User_Exception.cpp.
{ CORBA::Exception *result; ACE_NEW_RETURN ( result, CORBA::UnknownUserException (*this), 0 ); return result; }
void CORBA::UnknownUserException::_tao_encode | ( | TAO_OutputCDR & | cdr | ) | const [virtual] |
Implements CORBA::Exception.
Definition at line 88 of file Unknown_User_Exception.cpp.
{ throw ::CORBA::MARSHAL (); }
CORBA::TypeCode_ptr CORBA::UnknownUserException::_tao_type | ( | void | ) | const [virtual] |
This class has a specific typecode.
Reimplemented from CORBA::UserException.
Definition at line 106 of file Unknown_User_Exception.cpp.
{ //return CORBA::_tc_UnknownUserException; return this->exception_->_tao_get_typecode (); }
Holder for the actual exception.
Definition at line 99 of file Unknown_User_Exception.h.
CORBA::Any& exception CORBA::UnknownUserException::void |
Return the any containing the user exception.
Definition at line 76 of file Unknown_User_Exception.h.