00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <string>
00020
00021 #include "pqxx/libcompiler.h"
00022
00023
00024
00025
00026
00027 namespace pqxx
00028 {
00029
00030
00031
00032 class transaction_base;
00033
00034
00036
00044 class PQXX_LIBEXPORT tablestream
00045 {
00046 public:
00047 tablestream(transaction_base &Trans,
00048 const PGSTD::string &Name,
00049 const PGSTD::string &Null=PGSTD::string());
00050 virtual ~tablestream() =0;
00051
00052 const PGSTD::string &name() const { return m_Name; }
00053
00055
00062 virtual void complete() =0;
00063
00064 #ifdef PQXX_DEPRECATED_HEADERS
00065
00066 PGSTD::string Name() const { return name(); }
00067 #endif
00068
00069 protected:
00070 void register_me();
00071 transaction_base &Trans() const throw () { return m_Trans; }
00072 const PGSTD::string &NullStr() const { return m_Null; }
00073 void RegisterPendingError(const PGSTD::string &) throw ();
00074 bool is_finished() const throw () { return m_Finished; }
00075 void base_close();
00076
00077 private:
00078 transaction_base &m_Trans;
00079 PGSTD::string m_Name;
00080 PGSTD::string m_Null;
00081 bool m_Finished;
00082
00083
00084 tablestream();
00085 tablestream(const tablestream &);
00086 tablestream &operator=(const tablestream &);
00087 };
00088
00089 }
00090
00091