/usr/include/qt5qevercloud/exceptions.h is in qt5qevercloud-dev 3.0.3+ds-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | /**
* Original work: Copyright (c) 2014 Sergey Skoblikov
* Modified work: Copyright (c) 2015-2016 Dmitry Ivanov
*
* This file is a part of QEverCloud project and is distributed under the terms of MIT license:
* https://opensource.org/licenses/MIT
*/
#ifndef QEVERCLOUD_EXCEPTIONS_H
#define QEVERCLOUD_EXCEPTIONS_H
#include "Optional.h"
#include "export.h"
#include "EverCloudException.h"
#include "generated/EDAMErrorCode.h"
#include "generated/types.h"
#include <QString>
#include <QObject>
#include <QSharedPointer>
namespace qevercloud {
/**
* Errors of the Thrift protocol level. It could be wrongly formatted parameters
* or return values for example.
*/
class QEVERCLOUD_EXPORT ThriftException: public EverCloudException
{
public:
struct Type {
enum type {
UNKNOWN = 0,
UNKNOWN_METHOD = 1,
INVALID_MESSAGE_TYPE = 2,
WRONG_METHOD_NAME = 3,
BAD_SEQUENCE_ID = 4,
MISSING_RESULT = 5,
INTERNAL_ERROR = 6,
PROTOCOL_ERROR = 7,
INVALID_DATA = 8
};
};
ThriftException();
ThriftException(Type::type type);
ThriftException(Type::type type, QString message);
Type::type type() const;
const char * what() const throw() Q_DECL_OVERRIDE;
virtual QSharedPointer<EverCloudExceptionData> exceptionData() const Q_DECL_OVERRIDE;
protected:
Type::type m_type;
};
/** Asynchronous API conterpart of ThriftException. See EverCloudExceptionData for more details.*/
class QEVERCLOUD_EXPORT ThriftExceptionData: public EverCloudExceptionData
{
Q_OBJECT
Q_DISABLE_COPY(ThriftExceptionData)
public:
explicit ThriftExceptionData(QString error, ThriftException::Type::type type);
virtual void throwException() const Q_DECL_OVERRIDE;
protected:
ThriftException::Type::type m_type;
};
inline QSharedPointer<EverCloudExceptionData> ThriftException::exceptionData() const
{
return QSharedPointer<EverCloudExceptionData>(new ThriftExceptionData(what(), type()));
}
/** Asynchronous API conterpart of EDAMUserException. See EverCloudExceptionData for more details.*/
class QEVERCLOUD_EXPORT EDAMUserExceptionData: public EvernoteExceptionData
{
Q_OBJECT
Q_DISABLE_COPY(EDAMUserExceptionData)
public:
explicit EDAMUserExceptionData(QString error, EDAMErrorCode::type errorCode, Optional<QString> parameter);
virtual void throwException() const Q_DECL_OVERRIDE;
protected:
EDAMErrorCode::type m_errorCode;
Optional<QString> m_parameter;
};
/** Asynchronous API conterpart of EDAMSystemException. See EverCloudExceptionData for more details.*/
class QEVERCLOUD_EXPORT EDAMSystemExceptionData: public EvernoteExceptionData
{
Q_OBJECT
Q_DISABLE_COPY(EDAMSystemExceptionData)
public:
explicit EDAMSystemExceptionData(QString err, EDAMErrorCode::type errorCode, Optional<QString> message, Optional<qint32> rateLimitDuration);
virtual void throwException() const Q_DECL_OVERRIDE;
protected:
EDAMErrorCode::type m_errorCode;
Optional<QString> m_message;
Optional<qint32> m_rateLimitDuration;
};
/** Asynchronous API conterpart of EDAMNotFoundException. See EverCloudExceptionData for more details.*/
class QEVERCLOUD_EXPORT EDAMNotFoundExceptionData: public EvernoteExceptionData
{
Q_OBJECT
Q_DISABLE_COPY(EDAMNotFoundExceptionData)
public:
explicit EDAMNotFoundExceptionData(QString error, Optional<QString> identifier, Optional<QString> key);
virtual void throwException() const Q_DECL_OVERRIDE;
protected:
Optional<QString> m_identifier;
Optional<QString> m_key;
};
/**
* EDAMSystemException for `errorCode = RATE_LIMIT_REACHED`
*/
class QEVERCLOUD_EXPORT EDAMSystemExceptionRateLimitReached: public EDAMSystemException
{
public:
virtual QSharedPointer<EverCloudExceptionData> exceptionData() const Q_DECL_OVERRIDE;
};
/** Asynchronous API conterpart of EDAMSystemExceptionRateLimitReached. See EverCloudExceptionData for more details.*/
class QEVERCLOUD_EXPORT EDAMSystemExceptionRateLimitReachedData: public EDAMSystemExceptionData
{
Q_OBJECT
Q_DISABLE_COPY(EDAMSystemExceptionRateLimitReachedData)
public:
explicit EDAMSystemExceptionRateLimitReachedData(QString error, EDAMErrorCode::type errorCode, Optional<QString> message,
Optional<qint32> rateLimitDuration);
virtual void throwException() const Q_DECL_OVERRIDE;
};
/**
* EDAMSystemException for `errorCode = AUTH_EXPIRED`
*/
class QEVERCLOUD_EXPORT EDAMSystemExceptionAuthExpired: public EDAMSystemException
{
public:
virtual QSharedPointer<EverCloudExceptionData> exceptionData() const Q_DECL_OVERRIDE;
};
/** Asynchronous API conterpart of EDAMSystemExceptionAuthExpired. See EverCloudExceptionData for more details.*/
class QEVERCLOUD_EXPORT EDAMSystemExceptionAuthExpiredData: public EDAMSystemExceptionData
{
Q_OBJECT
Q_DISABLE_COPY(EDAMSystemExceptionAuthExpiredData)
public:
explicit EDAMSystemExceptionAuthExpiredData(QString error, EDAMErrorCode::type errorCode, Optional<QString> message,
Optional<qint32> rateLimitDuration);
virtual void throwException() const Q_DECL_OVERRIDE;
};
} // namespace qevercloud
#endif // QEVERCLOUD_EXCEPTIONS_H
|