This commit is contained in:
Emiel Bruijntjes 2015-04-24 09:59:05 +02:00
commit 4e09e54849
4 changed files with 26 additions and 11 deletions

View File

@ -23,11 +23,12 @@ endmacro()
add_subdirectory(src)
add_subdirectory(include)
add_subdirectory(amqp_boost_test)
include_directories(${CMAKE_SOURCE_DIR}/include)
add_library(amqp-cpp STATIC ${SRCS})
target_include_directories(amqp-cpp SYSTEM PUBLIC ${PROJECT_SOURCE_DIR})
install(TARGETS amqp-cpp
ARCHIVE DESTINATION lib
)
set(AMQP-CPP_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
set(AMQP-CPP_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)

View File

@ -27,9 +27,16 @@ This library is created and maintained by Copernica (www.copernica.com), and is
used inside the MailerQ (www.mailerq.com) application, MailerQ is a tool for
sending large volumes of email, using AMQP message queues.
Do you appreciate our work and are you looking for high quality email solutions?
Then check out our commercial solutions:
HOW TO USE
==========
* Copernica Marketing Suite (www.copernica.com)
* MailerQ MTA (www.mailerq.com)
* Responsive Email web service (www.responsiveemail.com)
HOW TO USE AMQP-CPP
===================
As we mentioned above, the library does not do any IO by itself, and you need
to pass an object to the library that the library can use for that. So, before

View File

@ -338,6 +338,7 @@ public:
*/
bool publish(const std::string &exchange, const std::string &routingKey, const Envelope &envelope) { return _implementation->publish(exchange, routingKey, envelope); }
bool publish(const std::string &exchange, const std::string &routingKey, const std::string &message) { return _implementation->publish(exchange, routingKey, Envelope(message)); }
bool publish(const std::string &exchange, const std::string &routingKey, std::string &&message) { return _implementation->publish(exchange, routingKey, Envelope(std::move(message))); }
bool publish(const std::string &exchange, const std::string &routingKey, const char *message, size_t size) { return _implementation->publish(exchange, routingKey, Envelope(message, size)); }
bool publish(const std::string &exchange, const std::string &routingKey, const char *message) { return _implementation->publish(exchange, routingKey, Envelope(message, strlen(message))); }

View File

@ -31,7 +31,7 @@ protected:
* @var const char *
*/
const char *_body;
/**
* Size of the data
* @var uint64_t
@ -41,26 +41,32 @@ protected:
public:
/**
* Constructor
*
*
* The data buffer that you pass to this constructor must be valid during
* the lifetime of the Envelope object.
*
*
* @param body
* @param size
*/
Envelope(const char *body, uint64_t size) : MetaData(), _body(body), _bodySize(size) {}
/**
* Constructor based on a string
* @param body
*/
Envelope(const std::string &body) : MetaData(), _str(body), _body(_str.data()), _bodySize(_str.size()) {}
/**
* Constructor based on a string
* @param body
*/
Envelope(std::string &&body) : MetaData(), _str(std::move(body)), _body(_str.data()), _bodySize(_str.size()) {}
/**
* Destructor
*/
virtual ~Envelope() {}
/**
* Access to the full message data
* @return buffer
@ -69,7 +75,7 @@ public:
{
return _body;
}
/**
* Size of the body
* @return uint64_t
@ -78,7 +84,7 @@ public:
{
return _bodySize;
}
/**
* Body as a string
* @return string