19 #ifndef PULSAR_CLIENT_HPP_
20 #define PULSAR_CLIENT_HPP_
22 #include <pulsar/Consumer.h>
23 #include <pulsar/Producer.h>
24 #include <pulsar/Reader.h>
25 #include <pulsar/Result.h>
26 #include <pulsar/Message.h>
27 #include <pulsar/MessageBuilder.h>
28 #include <pulsar/ClientConfiguration.h>
29 #include <pulsar/Schema.h>
32 #pragma GCC visibility push(default)
35 typedef std::function<void(
Result, Producer)> CreateProducerCallback;
36 typedef std::function<void(
Result, Consumer)> SubscribeCallback;
37 typedef std::function<void(
Result, Reader)> ReaderCallback;
38 typedef std::function<void(
Result,
const std::vector<std::string>&)> GetPartitionsCallback;
39 typedef std::function<void(
Result)> CloseCallback;
53 Client(
const std::string& serviceUrl);
90 void createProducerAsync(
const std::string& topic, CreateProducerCallback callback);
93 CreateProducerCallback callback);
95 Result subscribe(
const std::string& topic,
const std::string& consumerName,
Consumer& consumer);
96 Result subscribe(
const std::string& topic,
const std::string& consumerName,
99 void subscribeAsync(
const std::string& topic,
const std::string& consumerName,
100 SubscribeCallback callback);
101 void subscribeAsync(
const std::string& topic,
const std::string& consumerName,
107 Result subscribe(
const std::vector<std::string>& topics,
const std::string& subscriptionName,
109 Result subscribe(
const std::vector<std::string>& topics,
const std::string& subscriptionName,
111 void subscribeAsync(
const std::vector<std::string>& topics,
const std::string& subscriptionName,
112 SubscribeCallback callback);
113 void subscribeAsync(
const std::vector<std::string>& topics,
const std::string& subscriptionName,
124 void subscribeWithRegexAsync(
const std::string& regexPattern,
const std::string& consumerName,
125 SubscribeCallback callback);
126 void subscribeWithRegexAsync(
const std::string& regexPattern,
const std::string& consumerName,
161 void createReaderAsync(
const std::string& topic,
const MessageId& startMessageId,
202 void closeAsync(CloseCallback callback);
208 bool poolConnections);
209 Client(
const std::shared_ptr<ClientImpl>);
211 friend class PulsarFriend;
212 friend class PulsarWrapper;
213 std::shared_ptr<ClientImpl> impl_;
217 #pragma GCC visibility pop