7#include <aws/queues/Queue.h>
8#include <aws/sqs/model/Message.h>
9#include <aws/queues/Queues_EXPORTS.h>
11#include <aws/core/client/AsyncCallerContext.h>
12#include <aws/sqs/SQSClient.h>
20 class DeleteMessageRequest;
21 class SendMessageRequest;
38 typedef std::function<void(
const SQSQueue*,
const Aws::String&)> QueueArnSuccessEventHandler;
77 SQSQueue(
const std::shared_ptr<SQS::SQSClient>& client,
const char* queueName,
unsigned visibilityTimeout,
unsigned pollingFrequencyMs = 10000);
108 std::shared_ptr<SQS::SQSClient> m_client;
111 unsigned m_visibilityTimeout;
122 QueueArnSuccessEventHandler m_queueArnSuccessHandler;
123 QueueArnFailedEventHandler m_queueArnFailedHandler;
124 QueueAttributeSuccessEventHandler m_queueAttributeSuccessHandler;
125 QueueAttributeFailedEventHandler m_queueAttributeFailedHandler;
bool IsInitialized() const
void EnsureQueueIsInitialized()
void SetQueueAttributeFailedEventHandler(const QueueAttributeFailedEventHandler &messageHandler)
void SetQueueArnFailedEventHandler(QueueArnFailedEventHandler &&messageHandler)
void SetQueueArnSuccessEventHandler(const QueueArnSuccessEventHandler &messageHandler)
void SetQueueAttributeSuccessEventHandler(QueueAttributeSuccessEventHandler &&messageHandler)
void SetQueueArnSuccessEventHandler(QueueArnSuccessEventHandler &&messageHandler)
SQSQueue(const std::shared_ptr< SQS::SQSClient > &client, const char *queueName, unsigned visibilityTimeout, unsigned pollingFrequencyMs=10000)
const QueueAttributeSuccessEventHandler & GetQueueAttributeSuccessEventHandler() const
void SetQueueAttributeFailedEventHandler(QueueAttributeFailedEventHandler &&messageHandler)
void Delete(const Aws::SQS::Model::Message &) override
void SetQueueAttributeSuccessEventHandler(const QueueAttributeSuccessEventHandler &messageHandler)
const QueueArnFailedEventHandler & GetQueueArnFailedEventHandler() const
const QueueArnSuccessEventHandler & GetQueueArnSuccessEventHandler() const
void SetQueueArnFailedEventHandler(const QueueArnFailedEventHandler &messageHandler)
const QueueAttributeFailedEventHandler & GetQueueAttributeFailedEventHandler() const
Aws::SQS::Model::Message Top() const override
const Aws::String & GetQueueUrl() const
void Push(const Aws::SQS::Model::Message &) override
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String