lintel 0.2.0
Loading...
Searching...
No Matches
IMessageQueueRepository.h
Go to the documentation of this file.
1#ifndef LINTEL_IMESSAGEQUEUEREPOSITORY_H
2#define LINTEL_IMESSAGEQUEUEREPOSITORY_H
3
4#include <memory>
5#include <optional>
6#include <string>
7#include <vector>
8
10
11namespace lintel {
12class MessageQueueEntry;
13
18{
19public:
20 virtual ~IMessageQueueRepository() = default;
21
26 virtual MessageQueueEntry allMessageQueueNameOf(const std::string &name) = 0;
27
33 virtual std::vector<MessageQueueEntry> allOf(const std::string &processName, const std::string &messageQueueName) = 0;
34
44 virtual Page<MessageQueueEntry> pageOf(const std::string &processName,
45 const std::string &messageQueueName,
46 const std::optional<std::string> &afterName,
47 std::size_t limit) = 0;
48
53 virtual std::vector<MessageQueueEntry> allProcessNameOf(const std::string &processName) = 0;
54
59 virtual void insertOf(const std::vector<MessageQueueEntry> &entries) = 0;
60
65 virtual void deleteOf(const std::vector<MessageQueueEntry> &entries) = 0;
66};
67
68}// namespace lintel
69#endif// LINTEL_IMESSAGEQUEUEREPOSITORY_H
Definition IMessageQueueRepository.h:18
virtual std::vector< MessageQueueEntry > allProcessNameOf(const std::string &processName)=0
virtual void deleteOf(const std::vector< MessageQueueEntry > &entries)=0
virtual std::vector< MessageQueueEntry > allOf(const std::string &processName, const std::string &messageQueueName)=0
virtual void insertOf(const std::vector< MessageQueueEntry > &entries)=0
virtual MessageQueueEntry allMessageQueueNameOf(const std::string &name)=0
virtual Page< MessageQueueEntry > pageOf(const std::string &processName, const std::string &messageQueueName, const std::optional< std::string > &afterName, std::size_t limit)=0
virtual ~IMessageQueueRepository()=default
Definition MessageQueueEntry.h:14
Definition Page.h:15
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9