Helix Web Services Client  1
Helix Web Services Client SDK for Qt Applications
RequestError.h
1 #ifndef __HWS_REQUEST_ERROR_H__
2 #define __HWS_REQUEST_ERROR_H__
3 
4 #include <QString>
5 #include <QSharedPointer>
6 
7 namespace hws
8 {
18  {
19  public:
20  // Error codes in use by errors not detected by the underlying system.
21 
23  const static int NETWORK_ERROR = 16000;
24 
26  const static int SSL_ERROR = 16001;
27 
29  const static int JSON_ERROR = 16002;
30 
32  const static int AUTHENTICATION_ERROR = 16003;
33 
35  const static int WEB_SOCKET_ERROR = 16004;
36 
48  enum Severity
49  {
50  EMPTY = 0,
51  INFO = 1,
52  WARN = 2,
53  ERROR = 3,
54  FATAL = 4
55  };
56 
58  RequestError();
59 
61  RequestError(const QString & messageText,
62  const QString & baseMessageText, int code,
63  short severity);
64 
66  RequestError(const RequestError & error);
67 
69  ~RequestError();
70 
72  RequestError & operator=(const RequestError & e);
73 
75  const QString & messageText() const;
76 
78  void setMessageText(const QString & t);
79 
81  const QString & baseMessageText() const;
82 
84  void setBaseMessageText(const QString & t);
85 
87  int code() const;
88 
90  void setCode(int c);
91 
93  short severity() const;
94 
96  void setSeverity(short s);
97 
98  private:
99  QString mMessageText;
100  QString mBaseMessageText;
101  int mCode;
102  short mSeverity;
103  };
104 
105  typedef QSharedPointer<RequestError> RequestErrorPtr;
106 
107  // If the content in the byte array is actually a JSON error response, then
108  // this will generate a RequestError instance. If it is not, will return an
109  // empty pointer.
110  RequestErrorPtr parseRequestError(QByteArray content);
111 }
112 
113 #endif // __HWS_REQUEST_ERROR_H__
static const int SSL_ERROR
A networking problem with SSL (flagged by Qt subsystem)
Definition: RequestError.h:26
Definition: hws.h:63
void setCode(int c)
See error code constants defined in RequestError.h.
Definition: RequestError.cpp:72
short severity() const
Current severity, probably ERROR.
Definition: RequestError.cpp:77
void setSeverity(short s)
Set the severity.
Definition: RequestError.cpp:82
void setBaseMessageText(const QString &t)
Underling message, suitable for logging.
Definition: RequestError.cpp:62
static const int JSON_ERROR
A problem parsing JSON.
Definition: RequestError.h:29
const QString & baseMessageText() const
Underling message, suitable for logging.
Definition: RequestError.cpp:57
int code() const
See error code constants defined in RequestError.h.
Definition: RequestError.cpp:67
Severity
Definition: RequestError.h:48
static const int WEB_SOCKET_ERROR
Problems connecting to the notifications server.
Definition: RequestError.h:35
static const int AUTHENTICATION_ERROR
The session is likely invalid.
Definition: RequestError.h:32
RequestError & operator=(const RequestError &e)
Copy state from an existing RequestError.
Definition: RequestError.cpp:38
const QString & messageText() const
Possibly localized string coming from the server.
Definition: RequestError.cpp:47
Capture errors from different kinds of remote calls.
Definition: RequestError.h:17
~RequestError()
Typical destructor.
Definition: RequestError.cpp:34
static const int NETWORK_ERROR
A generic networking problem (flagged by Qt)
Definition: RequestError.h:23
void setMessageText(const QString &t)
Set the localized string.
Definition: RequestError.cpp:52
RequestError()
Creates a new request status for a successful operation.
Definition: RequestError.cpp:8