mirror of
https://github.com/Telecominfraproject/wlan-cloud-lib-cppkafka.git
synced 2025-11-01 11:07:56 +00:00
32 lines
622 B
C++
32 lines
622 B
C++
#ifndef CPPKAFKA_TOPIC_H
|
|
#define CPPKAFKA_TOPIC_H
|
|
|
|
#include <string>
|
|
#include <memory>
|
|
#include <boost/optional.hpp>
|
|
#include <librdkafka/rdkafka.h>
|
|
|
|
namespace cppkafka {
|
|
|
|
class Topic {
|
|
public:
|
|
static Topic make_non_owning(rd_kafka_topic_t* handle);
|
|
|
|
Topic(rd_kafka_topic_t* handle);
|
|
|
|
std::string get_name() const;
|
|
rd_kafka_topic_t* get_handle() const;
|
|
private:
|
|
using HandlePtr = std::unique_ptr<rd_kafka_topic_t, decltype(&rd_kafka_topic_destroy)>;
|
|
|
|
struct NonOwningTag { };
|
|
|
|
Topic(rd_kafka_topic_t* handle, NonOwningTag);
|
|
|
|
HandlePtr handle_;
|
|
};
|
|
|
|
} // cppkafka
|
|
|
|
#endif // CPPKAFKA_TOPIC_H
|