00001
00002
00007 #ifndef __RESPONSE_H__
00008 #define __RESPONSE_H__
00009
00010 #include <string>
00011
00012 #include "libepp_nicbr.H"
00013 #include "StrUtil.H"
00014
00015 using std::string;
00016
00017 LIBEPP_NICBR_NS_BEGIN
00018
00020 class Response
00021 {
00022 public:
00024 enum ResultCode {
00025 UNSET = -1,
00026 OK = 1000,
00027 OK_ACTION_PENDING = 1001,
00028 OK_NO_MESSAGES = 1300,
00029 OK_ACK_DEQUEUE = 1301,
00030 OK_ENDING_SESSION = 1500,
00031 UNKNOWN_COMMAND = 2000,
00032 COMMAND_SYNTAX_ERROR = 2001,
00033 COMMAND_USE_ERROR = 2002,
00034 PARAMETER_MISSING = 2003,
00035 PARAMETER_RANGE_ERROR = 2004,
00036 PARAMETER_SYNTAX_ERROR = 2005,
00037 UNIMPLEMENTED_VERSION = 2100,
00038 UNIMPLEMENTED_COMMAND = 2101,
00039 UNIMPLEMENTED_OPTION = 2102,
00040 UNIMPLEMENTED_EXTENSION = 2103,
00041 BILLING_FAILURE = 2104,
00042 NOT_RENEWABLE = 2105,
00043 NOT_TRANSFERABLE = 2106,
00044 AUTHENTICATION_ERROR = 2200,
00045 AUTHORIZATION_ERROR = 2201,
00046 INVALID_AUTHORIZATION_INFO = 2202,
00047 PENDING_TRANSFER = 2300,
00048 NOT_PENDING_TRANSFER = 2301,
00049 OBJECT_EXISTS = 2302,
00050 OBJECT_DOESNT_EXIST = 2303,
00051 STATUS_PROHIBITS_OPERATION = 2304,
00052 ASSOCIATION_PROHIBITS_OPERATION = 2305,
00053 PARAMETER_POLICY_ERROR = 2306,
00054 UNIMPLEMENTED_SERVICE = 2307,
00055 DATA_MGMT_POLICY_VIOLATION = 2308,
00056 COMMAND_FAILED = 2400,
00057 COMMAND_FAILED_CLOSING_CONN = 2500,
00058 AUTHORIZATION_ERROR_CLOSING_CONN = 2501,
00059 SESSION_LIMIT_EXCEEDED = 2502
00060 };
00061
00063 Response(bool reset = true)
00064 {
00065 if (reset) {
00066 this->reset();
00067 }
00068 }
00069
00071
00074 void set_clTRID(const string &clTRID) { _clTRID = clTRID; }
00075
00077
00080 void set_svTRID(const string &svTRID) { _svTRID = svTRID; }
00081
00083
00086 void set_result_msg(const string &msg) { _result_msg = msg; }
00087
00089
00092 void set_result_lang(const string &result_lang)
00093 {
00094 _result_lang = result_lang;
00095 }
00096
00098
00101 void set_result_code(const ResultCode &code) { _result_code = code; }
00102
00104
00107 string get_clTRID() { return _clTRID; }
00108
00110
00113 string get_svTRID() { return _svTRID; }
00114
00116
00119 string get_result_msg() { return _result_msg; }
00120
00122
00125 string get_result_lang() { return _result_lang; }
00126
00128
00131 ResultCode get_result_code() { return _result_code; }
00132
00134 void reset()
00135 {
00136 _clTRID = "";
00137 _svTRID = "";
00138 _result_msg = "";
00139 _result_lang = "en";
00140 _result_code = UNSET;
00141 }
00142
00143 protected:
00145 string _clTRID;
00146
00148 string _svTRID;
00149
00151 string _result_msg;
00152
00154 string _result_lang;
00155
00157 ResultCode _result_code;
00158
00159 };
00160
00161 LIBEPP_NICBR_NS_END
00162 #endif //__RESPONSE_H__