2012-10-10 4 views
3

libpqxx을 사용하여 알림 이벤트를 수신하려고합니다. 나는 pqxx::notify_listener을 확장 한 예제를 시작했다.notify_listener 사용 - libpqxx

#include <iostream> 
#include <string> 
#include <pqxx/pqxx> 

class Foo : public pqxx::notify_listener { 

public: 
    Foo(pqxx::connection_base &c): pqxx::notify_listener(c, "listen") {} 
    virtual void operator()(int id) { std::cout << "HERE!" << std::endl; } 
}; 

int main(void) { 
    // set up the listener 
    pqxx::connection con("...secret..."); 
    Foo listener(con); 

    // loop forever ... 
} 

나는이 기능을 사용할 수 없습니다.

나는
pqxx::notify_listener(c, "my_schema"),
pqxx::notify_listener(c, "listen my_schema") 어떤 다른 사람 이름 매개 변수를 전환했습니다.

pgAdmin을 통해 NOTIFY 이벤트를 수동으로 생성합니다. 내가하는 일에 상관없이, 펑터는 처형되지 않는다.

답변

4

메인 루프에서 pqxx::connection_base::get_notifs() 또는 pqxx::connection_base::await_notification()으로 전화 하시겠습니까?

그렇지 않으면 필요합니다.

+0

멋진 캐치. 그것은 doxygen 문서에서 분명하지 않았습니다. –