00001 #ifndef __BFILE_H_
00002 #define __BFILE_H_
00003
00004 #include "ocicpp.h"
00005 #include "OraError.h"
00006
00007 namespace OCICPP {
00008
00009 class BFile {
00010 private:
00011 OCILobLocator *lob;
00012 OCIError *errhp;
00013 OCISvcCtx *svchp;
00014 int type;
00015 unsigned len;
00016 unsigned offset;
00017 bool needLobFree;
00018 public:
00019 BFile();
00020 BFile(OCISvcCtx *svcctx,OCILobLocator *lob_desc,OCIError *err);
00021 void init(OCISvcCtx *svcctx,OCILobLocator *lob_desc,OCIError *err);
00022 void init(OCIEnv *env,OCISvcCtx *,OCIError *err,const string &dir,const string &fname);
00023 ~BFile();
00024 void drop();
00025 void seek(unsigned offset,int dir);
00026
00027
00028
00029 unsigned tell();
00030 void open();
00031 void close();
00032
00033 unsigned read(void *buff,int blen);
00034
00035
00036 unsigned getLen() const;
00037 friend class Lob;
00038 friend class TLob;
00039 };
00040
00041 }
00042
00043 #endif
00044