00001
#ifndef _ERROR_COMPONENT_H
00002
#define _ERROR_COMPONENT_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
#ifndef __cplusplus
00033
#error This is a C++ include file and cannot be used from plain C
00034
#endif
00035
00038
#include <acscomponentImpl.h>
00039
00042
#include <ACSErrTypeCommon.h>
00043
00050
#include <acsexmplErrorComponentS.h>
00051
00057
00062
00106 class ErrorComponent:
public virtual acscomponent::ACSComponentImpl,
00107
public POA_acsexmplErrorComponent::
ErrorComponent
00108 {
00109
public:
00118
ErrorComponent(
00119
const ACE_CString& name,
00120
maci::ContainerServices * containerServices);
00121
00125
virtual ~ErrorComponent();
00126
00127
00135
virtual void
00136
displayMessage ();
00137
00148
virtual void
00149
badMethod(CORBA::Short depth);
00150
00161
virtual void
00162
exceptionFromCompletion(CORBA::Short depth);
00163
00180
virtual void typeException(CORBA::Short depth);
00181
00182
00187
virtual void corbaSystemException();
00188
00198
virtual ACSErr::Completion *
completionFromException(CORBA::Short depth);
00199
00209
virtual ACSErr::Completion *
completionFromCompletion(CORBA::Short depth);
00210
00220 ACSErr::Completion *
ErrorComponent::completionOnStack(CORBA::Short depth);
00221
00229
void outCompletion(ACSErr::Completion_out comp);
00230
00231
private:
00232
00240
virtual ACSErr::CompletionImpl *
createCompletion(
unsigned short depth);
00241
00242
00257
virtual void
00258
buildErrorTrace(
unsigned short depth) ;
00259
00260 };
00261
00262
00263
00264
#endif