QEverCloud  3.0.0
Unofficial Evernote Cloud API for Qt
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
exceptions.h
Go to the documentation of this file.
1 
9 #ifndef QEVERCLOUD_EXCEPTIONS_H
10 #define QEVERCLOUD_EXCEPTIONS_H
11 
12 #include "Optional.h"
13 #include "export.h"
14 #include "EverCloudException.h"
16 #include "generated/types.h"
17 #include <QString>
18 #include <QObject>
19 #include <QSharedPointer>
20 
21 namespace qevercloud {
22 
28 {
29 public:
30  struct Type {
31  enum type {
32  UNKNOWN = 0,
33  UNKNOWN_METHOD = 1,
34  INVALID_MESSAGE_TYPE = 2,
35  WRONG_METHOD_NAME = 3,
36  BAD_SEQUENCE_ID = 4,
37  MISSING_RESULT = 5,
38  INTERNAL_ERROR = 6,
39  PROTOCOL_ERROR = 7,
40  INVALID_DATA = 8
41  };
42  };
43 
45  ThriftException(Type::type type);
46  ThriftException(Type::type type, QString message);
47 
48  Type::type type() const;
49 
50  const char * what() const throw() Q_DECL_OVERRIDE;
51 
52  virtual QSharedPointer<EverCloudExceptionData> exceptionData() const Q_DECL_OVERRIDE;
53 
54 protected:
55  Type::type m_type;
56 };
57 
60 {
61  Q_OBJECT
62  Q_DISABLE_COPY(ThriftExceptionData)
63 public:
64  explicit ThriftExceptionData(QString error, ThriftException::Type::type type);
65  virtual void throwException() const Q_DECL_OVERRIDE;
66 
67 protected:
69 };
70 
71 inline QSharedPointer<EverCloudExceptionData> ThriftException::exceptionData() const
72 {
73  return QSharedPointer<EverCloudExceptionData>(new ThriftExceptionData(what(), type()));
74 }
75 
78 {
79  Q_OBJECT
80  Q_DISABLE_COPY(EDAMUserExceptionData)
81 public:
82  explicit EDAMUserExceptionData(QString error, EDAMErrorCode::type errorCode, Optional<QString> parameter);
83  virtual void throwException() const Q_DECL_OVERRIDE;
84 
85 protected:
88 };
89 
92 {
93  Q_OBJECT
94  Q_DISABLE_COPY(EDAMSystemExceptionData)
95 public:
96  explicit EDAMSystemExceptionData(QString err, EDAMErrorCode::type errorCode, Optional<QString> message, Optional<qint32> rateLimitDuration);
97  virtual void throwException() const Q_DECL_OVERRIDE;
98 
99 protected:
103 };
104 
107 {
108  Q_OBJECT
109  Q_DISABLE_COPY(EDAMNotFoundExceptionData)
110 public:
111  explicit EDAMNotFoundExceptionData(QString error, Optional<QString> identifier, Optional<QString> key);
112  virtual void throwException() const Q_DECL_OVERRIDE;
113 
114 protected:
117 };
118 
123 {
124 public:
125  virtual QSharedPointer<EverCloudExceptionData> exceptionData() const Q_DECL_OVERRIDE;
126 };
127 
130 {
131  Q_OBJECT
133 public:
134  explicit EDAMSystemExceptionRateLimitReachedData(QString error, EDAMErrorCode::type errorCode, Optional<QString> message,
135  Optional<qint32> rateLimitDuration);
136  virtual void throwException() const Q_DECL_OVERRIDE;
137 };
138 
143 {
144 public:
145  virtual QSharedPointer<EverCloudExceptionData> exceptionData() const Q_DECL_OVERRIDE;
146 };
147 
150 {
151  Q_OBJECT
152  Q_DISABLE_COPY(EDAMSystemExceptionAuthExpiredData)
153 public:
154  explicit EDAMSystemExceptionAuthExpiredData(QString error, EDAMErrorCode::type errorCode, Optional<QString> message,
155  Optional<qint32> rateLimitDuration);
156  virtual void throwException() const Q_DECL_OVERRIDE;
157 };
158 
159 } // namespace qevercloud
160 
161 #endif // QEVERCLOUD_EXCEPTIONS_H
Optional< QString > m_key
Definition: exceptions.h:116
Definition: exceptions.h:30
ThriftException::Type::type m_type
Definition: exceptions.h:68
type
Definition: exceptions.h:31
Definition: exceptions.h:91
Definition: exceptions.h:77
Definition: exceptions.h:142
#define QEVERCLOUD_EXPORT
Definition: export.h:23
Definition: EverCloudException.h:122
Optional< QString > m_message
Definition: exceptions.h:101
Optional< qint32 > m_rateLimitDuration
Definition: exceptions.h:102
Optional< QString > m_identifier
Definition: exceptions.h:115
EDAMErrorCode::type m_errorCode
Definition: exceptions.h:86
Definition: types.h:3707
Definition: AsyncResult.h:18
EDAMErrorCode::type m_errorCode
Definition: exceptions.h:100
virtual QSharedPointer< EverCloudExceptionData > exceptionData() const Q_DECL_OVERRIDE
Definition: exceptions.h:71
Definition: exceptions.h:59
Definition: exceptions.h:27
Optional< QString > m_parameter
Definition: exceptions.h:87
Definition: EverCloudException.h:26
Definition: exceptions.h:106
EverCloudException counterpart for asynchronous API.
Definition: EverCloudException.h:87
type
Definition: EDAMErrorCode.h:71