00001 /*------------------------------------------------------------------------- 00002 * 00003 * FILE 00004 * pqxx/largeobject.h 00005 * 00006 * DESCRIPTION 00007 * definitions for the pqxx::LargeObject class hierarchy 00008 * pqxx::LargeObject and family provide access to large objects 00009 * 00010 * Copyright (c) 2001-2003, Jeroen T. Vermeulen <jtv@xs4all.nl> 00011 * 00012 *------------------------------------------------------------------------- 00013 */ 00014 #ifndef PQXX_LARGEOBJECT_H 00015 #define PQXX_LARGEOBJECT_H 00016 00017 namespace pqxx 00018 { 00019 class TransactionItf; 00020 00021 class LargeObject 00022 { 00023 protected: 00024 LargeObject(TransactionItf &, Oid); 00025 ~LargeObject(); 00026 00027 // TODO: Reference-count this class? 00028 00029 private: 00030 TransactionItf &m_Trans; 00031 int m_fd; 00032 00033 // Not allowed: 00034 LargeObject(); 00035 LargeObject(const LargeObject &); 00036 LargeObject operator=(const LargeObject &); 00037 }; 00038 00039 00040 // TODO: Readable, writable, readable/writable subclasses 00041 // TODO: Check out standard library's stream hierarchy 00042 } 00043 00044 #endif 00045