IVA/app/external/qamqp/qamqpglobal.h

135 lines
3.2 KiB
C++

/*
* Copyright (C) 2012-2014 Alexey Shcherbakov
* Copyright (C) 2014-2015 Matt Broadstone
* Contact: https://github.com/mbroadst/qamqp
*
* This file is part of the QAMQP Library.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
#ifndef QAMQPGLOBAL_H
#define QAMQPGLOBAL_H
#include <QMetaType>
#define AMQP_SCHEME "amqp"
#define AMQP_SSL_SCHEME "amqps"
#define AMQP_PORT 5672
#define AMQP_SSL_PORT 5671
#define AMQP_HOST "localhost"
#define AMQP_VHOST "/"
#define AMQP_LOGIN "guest"
#define AMQP_PSWD "guest"
#define AMQP_FRAME_MAX 131072
#define AMQP_FRAME_MIN_SIZE 4096
#define AMQP_BASIC_CONTENT_TYPE_FLAG (1 << 15)
#define AMQP_BASIC_CONTENT_ENCODING_FLAG (1 << 14)
#define AMQP_BASIC_HEADERS_FLAG (1 << 13)
#define AMQP_BASIC_DELIVERY_MODE_FLAG (1 << 12)
#define AMQP_BASIC_PRIORITY_FLAG (1 << 11)
#define AMQP_BASIC_CORRELATION_ID_FLAG (1 << 10)
#define AMQP_BASIC_REPLY_TO_FLAG (1 << 9)
#define AMQP_BASIC_EXPIRATION_FLAG (1 << 8)
#define AMQP_BASIC_MESSAGE_ID_FLAG (1 << 7)
#define AMQP_BASIC_TIMESTAMP_FLAG (1 << 6)
#define AMQP_BASIC_TYPE_FLAG (1 << 5)
#define AMQP_BASIC_USER_ID_FLAG (1 << 4)
#define AMQP_BASIC_APP_ID_FLAG (1 << 3)
#define AMQP_BASIC_CLUSTER_ID_FLAG (1 << 2)
#define QAMQP_VERSION "0.6.0"
#define AMQP_CONNECTION_FORCED 320
#ifdef QAMQP_SHARED
# ifdef QAMQP_BUILD
# define QAMQP_EXPORT Q_DECL_EXPORT
# else
# define QAMQP_EXPORT Q_DECL_IMPORT
# endif
#else
# define QAMQP_EXPORT
#endif
#define qAmqpDebug if (qEnvironmentVariableIsEmpty("QAMQP_DEBUG")); else qDebug
namespace QAmqpMetaType {
enum ValueType
{
Invalid = -1,
// basic AMQP types
Boolean,
ShortUint,
LongUint,
LongLongUint,
ShortString,
LongString,
// field-value types
ShortShortInt,
ShortShortUint,
ShortInt,
LongInt,
LongLongInt,
Float,
Double,
Decimal,
Array,
Timestamp,
Hash,
Bytes,
Void
};
} // namespace QAmqpMetaType
namespace QAMQP {
enum Error
{
NoError = 0,
ContentTooLargeError = 311,
NoRouteError = 312,
NoConsumersError = 313,
ConnectionForcedError = 320,
InvalidPathError = 402,
AccessRefusedError = 403,
NotFoundError = 404,
ResourceLockedError = 405,
PreconditionFailedError = 406,
FrameError = 501,
SyntaxError = 502,
CommandInvalidError = 503,
ChannelError = 504,
UnexpectedFrameError = 505,
ResourceError = 506,
NotAllowedError = 530,
NotImplementedError = 540,
InternalError = 541
};
struct Decimal
{
qint8 scale;
quint32 value;
};
} // namespace QAMQP
Q_DECLARE_METATYPE(QAMQP::Error)
Q_DECLARE_METATYPE(QAMQP::Decimal)
#endif // QAMQPGLOBAL_H