00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 #include "pqxx/connection_base"
00020 
00021 
00022 
00023 
00024 
00025 namespace pqxx
00026 {
00028 
00046 class PQXX_LIBEXPORT trigger : public PGSTD::unary_function<int, void>
00047 {
00048 public:
00050 
00054   trigger(connection_base &C, const PGSTD::string &N) :                 
00055     m_Conn(C), m_Name(N) { m_Conn.AddTrigger(this); }
00056 
00057   virtual ~trigger() throw () { m_Conn.RemoveTrigger(this); }           
00058 
00059   const PGSTD::string &name() const { return m_Name; }                  
00060 
00062 
00067   virtual void operator()(int be_pid) =0;                               
00068 
00069 
00070 #ifdef PQXX_DEPRECATED_HEADERS
00071 
00072   PGSTD::string Name() const { return name(); }
00073 #endif
00074 
00075 protected:
00076   connection_base &Conn() const throw () { return m_Conn; }             
00077 
00078 private:
00079   connection_base &m_Conn;
00080   PGSTD::string m_Name;
00081 };
00082 
00083 }
00084 
00085