Migrate from deprecated notification_receiver to connection::listen()

libpqxx 7.10.1 deprecates the notification_receiver class.
This commit is contained in:
Jörg Thalheim
2025-08-03 12:03:00 +02:00
committed by ahuston-0
parent aee4e406e9
commit 5187992c94

View File

@@ -27,19 +27,20 @@ struct Connection : pqxx::connection
};
class receiver : public pqxx::notification_receiver
class receiver
{
std::optional<std::string> status;
pqxx::connection & conn;
public:
receiver(pqxx::connection_base & c, const std::string & channel)
: pqxx::notification_receiver(c, channel) { }
void operator() (const std::string & payload, int pid) override
: conn(static_cast<pqxx::connection &>(c))
{
status = payload;
};
conn.listen(channel, [this](pqxx::notification n) {
status = std::string(n.payload);
});
}
std::optional<std::string> get() {
auto s = status;