![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: repException.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtReportExceptionInteraction_H_ 00013 #define DtReportExceptionInteraction_H_ 00014 #ifdef DtMOM 00015 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00016 00017 #include "rtiMsConfig.h" 00018 #include "internalTypes.h" 00019 #include "mInteraction.h" 00020 #include <vlutil/vlList.h> 00021 00022 class DtMomInterCbMgr; 00023 class DtReportExceptionInteraction; 00024 typedef void (*DtReportExceptionInteractionCb) 00025 (const DtReportExceptionInteraction& inter, void* usr); 00026 00027 class DT_DLL_LRC DtReportExceptionInteraction : 00028 public DtReportInteraction 00029 { 00030 public: 00031 00033 DtReportExceptionInteraction(); 00034 00036 virtual ~DtReportExceptionInteraction(); 00037 00039 DtReportExceptionInteraction( 00040 const DtReportExceptionInteraction& orig); 00041 00043 DtReportExceptionInteraction& operator=( 00044 const DtReportExceptionInteraction& orig); 00045 00048 virtual const DtPhvps& phvps(); 00049 00052 virtual bool setFromPhvps(const DtPhvps& phvps); 00053 00055 virtual std::wstring const & serviceName() const; 00056 virtual void setServiceName(std::wstring const & data); 00057 00059 virtual std::wstring const & exception() const; 00060 virtual void setException(std::wstring const & data); 00061 00062 00063 public: 00065 static DtReportInteraction* create(); 00066 00068 static void addCallback(DtMomInterCbMgr* callBackManager, 00069 DtReportExceptionInteractionCb cb, void* usr); 00070 static void removeCallback(DtMomInterCbMgr* callBackManager, 00071 DtReportExceptionInteractionCb cb, void* usr); 00072 00073 protected: 00074 00076 virtual void encodeServiceName( 00077 const DtMomInteraction& data, 00078 DtPhvps* parameters, 00079 DtParameterHandle parameterHandle); 00080 00082 virtual void encodeException( 00083 const DtMomInteraction& data, 00084 DtPhvps* parameters, 00085 DtParameterHandle parameterHandle); 00086 00088 virtual void decodeServiceName( 00089 DtMomInteraction* data, 00090 const DtPhvps& parameters, 00091 int index); 00092 00094 virtual void decodeException( 00095 DtMomInteraction* data, 00096 const DtPhvps& parameters, 00097 int index); 00098 00099 public: 00100 static const char* theInteractionName; 00101 00102 protected: 00104 std::wstring myServiceName; 00105 std::wstring myException; 00106 00107 const char *SERVICE_PARAMETER_NAME; 00108 const char *EXCEPTION_PARAMETER_NAME; 00109 }; 00110 00111 #endif //! DtIFSPEC1516 00112 #endif //! DtMOM 00113 #endif //! DtReportExceptionInteraction_H_