CFx SDK Documentation  2020SP3
TfIO.h
Go to the documentation of this file.
1 #ifndef _TF_IO_H_DEFINED_
2 #define _TF_IO_H_DEFINED_
3 
4 #include <OdStreamBuf.h>
5 #define STL_USING_MAP
6 #include <OdaSTL.h>
7 
8 struct OdTfDigest
9 {
10  char data[20];
11  void write(OdStreamBuf* pBuf) const { pBuf->putBytes(data, 20); }
12  void read(OdStreamBuf* pBuf) { pBuf->getBytes(data, 20); }
13  bool operator < (const OdTfDigest& other) const
14  {
15  return memcmp(data, other.data, 20) < 0;
16  }
17  bool operator == (const OdTfDigest& other) const
18  {
19  return memcmp(data, other.data, 20) == 0;
20  }
21  bool operator != (const OdTfDigest& other) const
22  {
23  return memcmp(data, other.data, 20) != 0;
24  }
25 };
26 
28 {
30  virtual void write(OdStreamBuf* data, OdUInt64 length, OdTfDigest& sha1) = 0;
31  virtual bool setLabel(const OdString& label, const OdTfDigest& sha1) = 0;
32 };
33 
35 
37 {
39  virtual OdStreamBufPtr read(const OdTfDigest& sha1) = 0;
40  virtual bool getLabel(const OdString& label, OdTfDigest& sha1) = 0;
41 };
42 
44 
46 {
48  virtual OdTfWriterPtr createWriter(const OdString& path) = 0;
49  virtual OdTfReaderPtr createReader(const OdString& path) = 0;
50 };
51 
53 
55 
57 public:
59  virtual void open(const OdString& sPath) = 0;
60  virtual OdString path() const = 0;
61  virtual OdStreamBufPtr read(const OdTfDigest& sha1, OdTfThreadContext* ctx = 0) = 0;
62  virtual bool getLabel(const OdString& label, OdTfDigest& sha1) = 0;
63  virtual void write(OdStreamBuf* data, OdTfDigest& sha1) = 0;
64  virtual bool setLabel(const OdString& label, const OdTfDigest& sha1) = 0;
67  virtual void getExclusiveLock() = 0;
68  virtual void releaseExclusiveLock() = 0;
69  virtual void getBranchList(std::map<OdString, OdTfDigest>&) = 0;
70  virtual OdStreamBufPtr getDiff(const OdTfDigest& sha1) = 0;
71  virtual void writeDiff(const OdTfDigest& sha1, OdStreamBuf* data) = 0;
72  virtual void deleteKey(const OdTfDigest& sha1) = 0;
73  virtual void vacuum() = 0;
74 };
76 
77 
78 #endif // _TF_IO_H_DEFINED_
OdTfStorage::writeDiff
virtual void writeDiff(const OdTfDigest &sha1, OdStreamBuf *data)=0
FIRSTDLL_EXPORT
#define FIRSTDLL_EXPORT
Definition: RootExport.h:39
OdString
Definition: OdString.h:95
OdTfStoragePtr
OdSmartPtr< OdTfStorage > OdTfStoragePtr
Definition: TfIO.h:75
OdTfReader
Definition: TfIO.h:37
OdTfIOFactory::createWriter
virtual OdTfWriterPtr createWriter(const OdString &path)=0
OdTfStorage::getBranchList
virtual void getBranchList(std::map< OdString, OdTfDigest > &)=0
OdStreamBuf::getBytes
virtual void getBytes(void *buffer, OdUInt32 numBytes)
OdTfDigest
Definition: TfIO.h:9
OdTfStorage::open
virtual void open(const OdString &sPath)=0
OdTfWriter::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdTfWriter)
OdTfReaderPtr
OdSmartPtr< OdTfReader > OdTfReaderPtr
Definition: TfIO.h:43
OdTfIOFactoryPtr
OdSmartPtr< OdTfIOFactory > OdTfIOFactoryPtr
Definition: TfIO.h:52
OdRxObject
Definition: RxObject.h:564
OdTfDigest::write
void write(OdStreamBuf *pBuf) const
Definition: TfIO.h:11
OdTfStorage::createThreadContext
virtual OdTfThreadContext * createThreadContext()=0
OdaSTL.h
OdTfStorage::write
virtual void write(OdStreamBuf *data, OdTfDigest &sha1)=0
OdTfStorage::releaseExclusiveLock
virtual void releaseExclusiveLock()=0
OdTfIOFactory::createReader
virtual OdTfReaderPtr createReader(const OdString &path)=0
OdTfIOFactory
Definition: TfIO.h:46
OdTfIOFactory::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdTfIOFactory)
OdTfWriter::write
virtual void write(OdStreamBuf *data, OdUInt64 length, OdTfDigest &sha1)=0
OdTfWriter
Definition: TfIO.h:28
data
GLint GLenum GLsizei GLsizei GLint GLsizei const void * data
Definition: gles2_ext.h:110
OdStreamBuf.h
OdTfReader::getLabel
virtual bool getLabel(const OdString &label, OdTfDigest &sha1)=0
OdTfStorage::path
virtual OdString path() const =0
OdSmartPtr
Definition: SmartPtr.h:58
OdTfDigest::read
void read(OdStreamBuf *pBuf)
Definition: TfIO.h:12
OdTfStorage::getExclusiveLock
virtual void getExclusiveLock()=0
OdTfReader::read
virtual OdStreamBufPtr read(const OdTfDigest &sha1)=0
OdTfStorage::read
virtual OdStreamBufPtr read(const OdTfDigest &sha1, OdTfThreadContext *ctx=0)=0
OdTfReader::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdTfReader)
OdStreamBuf::putBytes
virtual void putBytes(const void *buffer, OdUInt32 numBytes)
OdTfDigest::operator==
bool operator==(const OdTfDigest &other) const
Definition: TfIO.h:17
length
GLuint GLsizei GLsizei * length
Definition: gles2_ext.h:274
OdTfStorage::setLabel
virtual bool setLabel(const OdString &label, const OdTfDigest &sha1)=0
OdTfStorage::vacuum
virtual void vacuum()=0
OdTfWriter::setLabel
virtual bool setLabel(const OdString &label, const OdTfDigest &sha1)=0
OdTfWriterPtr
OdSmartPtr< OdTfWriter > OdTfWriterPtr
Definition: TfIO.h:34
OdTfDigest::operator!=
bool operator!=(const OdTfDigest &other) const
Definition: TfIO.h:21
OdTfDigest::operator<
bool operator<(const OdTfDigest &other) const
Definition: TfIO.h:13
OdTfStorage::getDiff
virtual OdStreamBufPtr getDiff(const OdTfDigest &sha1)=0
OdTfThreadContext
Definition: TfIO.h:54
OdStreamBuf
Definition: OdStreamBuf.h:67
OdTfStorage::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdTfStorage)
OdTfDigest::data
char data[20]
Definition: TfIO.h:10
OdTfStorage::deleteKey
virtual void deleteKey(const OdTfDigest &sha1)=0
OdTfStorage::getLabel
virtual bool getLabel(const OdString &label, OdTfDigest &sha1)=0
OdTfStorage::deleteThreadContext
virtual void deleteThreadContext(OdTfThreadContext *)=0
OdTfStorage
Definition: TfIO.h:56
OdUInt64
Definition: Int64.h:137