00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef PQXX_TRANSACTOR_H
00015 #define PQXX_TRANSACTOR_H
00016
00017 #include <string>
00018
00019 #include "pqxx/compiler.h"
00020
00021
00022
00023
00024
00025
00026 namespace pqxx
00027 {
00028 class Transaction;
00029
00031
00056 class PQXX_LIBEXPORT Transactor
00057 {
00058 public:
00059 explicit Transactor(const PGSTD::string &TName="AnonymousTransactor") :
00060 m_Name(TName) {}
00061
00063
00066 typedef Transaction argument_type;
00067
00069 typedef void result_type;
00070
00072
00078 void operator()(argument_type &T);
00079
00080
00081
00082
00083
00084
00085
00087
00093 void OnAbort(const char []) throw () {}
00094
00096
00099 void OnCommit() {}
00100
00103
00112 void OnDoubt() throw () {}
00113
00115 PGSTD::string Name() const { return m_Name; }
00116
00117 private:
00118 PGSTD::string m_Name;
00119 };
00120
00121 }
00122
00123 #endif
00124