00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
#include "pqxx/libcompiler.h"
00020 
00021 
#include <string>
00022 
00023 
#include "pqxx/connection_base"
00024 
00025 
00026 
00027 
00028 
00029 
namespace pqxx
00030 {
00032 
00050 class PQXX_LIBEXPORT trigger : 
public PGSTD::unary_function<int, void>
00051 {
00052 
public:
00054 
00058   trigger(
connection_base &C, 
const PGSTD::string &N) :                 
00059     m_Conn(C), m_Name(N) { m_Conn.AddTrigger(
this); }
00060 
00061   virtual ~trigger() throw () { m_Conn.RemoveTrigger(
this); }           
00062 
00063   const PGSTD::string &name()
 const { 
return m_Name; }                  
00064 
00066 
00071   
virtual void operator()(
int be_pid) =0;                               
00072 
00073 
00074 
#ifdef PQXX_DEPRECATED_HEADERS
00075 
00076   PGSTD::string Name()
 const { 
return name(); }
00077 
#endif
00078 
00079 
protected:
00080   connection_base &Conn() const throw () { 
return m_Conn; }             
00081 
00082 
private:
00083   
connection_base &m_Conn;
00084   PGSTD::string m_Name;
00085 };
00086 
00087 }
00088 
00089