00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #pragma once
00011 #include "ippdme/Response/ippResponse.h"
00012 #include "ippdme/ippError.h"
00013 #include <string>
00014
00015
00016 class IPPDME_EXT_CLASS ippErrorResponse : public ippResponse {
00017
00018 public:
00019
00020
00021 ippErrorResponse(
00022 unsigned int inTagNumber, tagIdType inTagType,
00023 ippErrorNameType inErrorName,
00024 const char * inErrorCausingMethod
00025 );
00026 ippErrorResponse(
00027 const ippTag& tag,
00028 ippErrorNameType inErrorName,
00029 const char * inErrorCausingMethod
00030 );
00031
00032
00033 virtual ~ippErrorResponse();
00034
00035 void setCausingMethod(const char * inErrorCausingMethod)
00036 { _errorCausingMethod = inErrorCausingMethod; }
00037
00038 const ippError * getTheError() const{ return &_theError; }
00039
00040 const char* getCausingMethod()const { return _errorCausingMethod.c_str(); }
00041 virtual std::string getResponseString() const;
00042 private:
00043 ippError _theError;
00044 std::string _errorCausingMethod;
00045
00046 ippErrorResponse(const ippErrorResponse&);
00047 void operator=(const ippErrorResponse&);
00048 };
00049 IPP_DECLARE_SMARTPOINTER(ippErrorResponse);
00050