#include <acsexmplErrorComponentImpl.h>
Inheritance diagram for ErrorComponent:
Public Member Functions | |
ErrorComponent (const ACE_CString &name, maci::ContainerServices *containerServices) | |
virtual | ~ErrorComponent () |
virtual void | displayMessage () |
virtual void | badMethod (CORBA::Short depth) |
virtual void | exceptionFromCompletion (CORBA::Short depth) |
virtual void | typeException (CORBA::Short depth) |
virtual void | corbaSystemException () |
virtual ACSErr::Completion * | completionFromException (CORBA::Short depth) |
virtual ACSErr::Completion * | completionFromCompletion (CORBA::Short depth) |
ACSErr::Completion * | completionOnStack (CORBA::Short depth) |
void | outCompletion (ACSErr::Completion_out comp) |
Private Member Functions | |
virtual ACSErr::CompletionImpl * | createCompletion (unsigned short depth) |
virtual void | buildErrorTrace (unsigned short depth) |
All components should inherit from CharacteristicComponentImpl or it's superclass, ACSComponentImpl, to remain compatiable with ACS tools such as objexp (i.e., a GUI used to manipulate components). This class also derives from POA_acsexmplErrorComponent::ErrorComponent which is a class automatically generated by CORBA from ErrorComponent's IDL file.
|
Constructor
|
|
Destructor |
|
Simple method raises a remote exception within the calling client. Implementation of IDL badMethod().
|
|
The aim of this method is to build an error trace. It builds the error trace using exception, but the same could be done using Completion. It simply throw an exception containing an error trace with the requested depth, if > 0 Otherwise just returns. Notice that this method throws a LOCAL exception xxxExImpl and not a remote exception xxx
|
|
Simple method that returns a REMOTE (CORBA) completion (ACSErr::Completion), where an error trace is added from a completion.
|
|
Simple method that returns an ACSErr::Completion, where an error trace is added from an exception.
|
|
This method is similar than completionFromCompletion, but it allocated C++ completion on the stack instead on the heap.
|
|
Method that throws a CORBA::BAD_PARAM system exception to show how to handle CORBA System Exceptions |
|
This method return a LOCAL (C++) completion which contains an error trace if depth > 0, otherwise it returns non error completion (ACSErrOKCompletion), i.e. completion w/o ane error trace
|
|
Displays "Hello World" to the console. Implementation of IDL displayMessage().
|
|
Simple method raises a remote exception within the calling client. The error trace in the exception is added from a completion. Implementation of IDL method.
|
|
Simple method that returns an ACSErr::Completion as an out parameter
|
|
This method throws a REMOTE (CORBA) type exception if depth>0. If we want to throw a type exception we have to specfy this in the method signature. In this example the method can throw: ACSErrTypeCommon::GenericErrorEx or ACSErrTypeCommon::ACSErrTypeCommonEx exceptions. Although GenericErrorEx derives from ACSErrTypeCommonEx we have to specfy both in the method signature because IDL does not support hierarchy of exceptions.
|