From 8c70d386605dbacdb807bd213c5b153761055086 Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sat, 19 Feb 2005 14:48:48 +0000 Subject: [PATCH] Actually add flagtrigger.{h,cpp}... --- bigscreen/flagtrigger.cpp | 21 +++++++++++++++++++++ bigscreen/flagtrigger.h | 20 ++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 bigscreen/flagtrigger.cpp create mode 100644 bigscreen/flagtrigger.h diff --git a/bigscreen/flagtrigger.cpp b/bigscreen/flagtrigger.cpp new file mode 100644 index 0000000..258802a --- /dev/null +++ b/bigscreen/flagtrigger.cpp @@ -0,0 +1,21 @@ +#include "flagtrigger.h" + +FlagTrigger::FlagTrigger(pqxx::connection_base &conn, const PGSTD::string &name) + : pqxx::trigger(conn, name), flag(false) {} +FlagTrigger::~FlagTrigger() throw () {} + +void FlagTrigger::operator() (int pid) +{ + flag = true; + std::fprintf(stderr, "Received a flag trigger from pid %u\n", pid); +} + +bool FlagTrigger::get_flag() const +{ + return flag; +} + +void FlagTrigger::reset_flag() +{ + flag = false; +} diff --git a/bigscreen/flagtrigger.h b/bigscreen/flagtrigger.h new file mode 100644 index 0000000..3774ddd --- /dev/null +++ b/bigscreen/flagtrigger.h @@ -0,0 +1,20 @@ +#ifndef _FLAGTRIGGER_H +#define _FLAGTRIGGER_H 1 + +#include + +/* A trigger that sets a flag whenever it's trigged. */ +class FlagTrigger : pqxx::trigger { +private: + bool flag; + +public: + FlagTrigger(pqxx::connection_base &conn, const PGSTD::string &name); + virtual ~FlagTrigger() throw (); + + virtual void operator() (int pid); + bool get_flag() const; + void reset_flag(); +}; + +#endif /* !defined( _FLAGTRIGGER_H) */ -- 2.39.2