CFx SDK Documentation  2022 SP0
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_
#define FIRSTDLL_EXPORT
Definition: RootExport.h:39
OdSmartPtr< OdTfStorage > OdTfStoragePtr
Definition: TfIO.h:75
OdSmartPtr< OdTfIOFactory > OdTfIOFactoryPtr
Definition: TfIO.h:52
OdSmartPtr< OdTfReader > OdTfReaderPtr
Definition: TfIO.h:43
OdSmartPtr< OdTfWriter > OdTfWriterPtr
Definition: TfIO.h:34
virtual void getBytes(void *buffer, OdUInt32 numBytes)
virtual void putBytes(const void *buffer, OdUInt32 numBytes)
virtual void write(OdStreamBuf *data, OdTfDigest &sha1)=0
virtual void getExclusiveLock()=0
virtual bool getLabel(const OdString &label, OdTfDigest &sha1)=0
virtual bool setLabel(const OdString &label, const OdTfDigest &sha1)=0
virtual void vacuum()=0
virtual void getBranchList(std::map< OdString, OdTfDigest > &)=0
virtual OdStreamBufPtr read(const OdTfDigest &sha1, OdTfThreadContext *ctx=0)=0
virtual void deleteThreadContext(OdTfThreadContext *)=0
ODRX_DECLARE_MEMBERS(OdTfStorage)
virtual OdStreamBufPtr getDiff(const OdTfDigest &sha1)=0
virtual OdString path() const =0
virtual OdTfThreadContext * createThreadContext()=0
virtual void deleteKey(const OdTfDigest &sha1)=0
virtual void writeDiff(const OdTfDigest &sha1, OdStreamBuf *data)=0
virtual void releaseExclusiveLock()=0
virtual void open(const OdString &sPath)=0
GLint GLenum GLsizei GLsizei GLint GLsizei const void * data
Definition: gles2_ext.h:110
GLuint GLsizei GLsizei * length
Definition: gles2_ext.h:274
Definition: TfIO.h:9
char data[20]
Definition: TfIO.h:10
bool operator==(const OdTfDigest &other) const
Definition: TfIO.h:17
void read(OdStreamBuf *pBuf)
Definition: TfIO.h:12
bool operator<(const OdTfDigest &other) const
Definition: TfIO.h:13
void write(OdStreamBuf *pBuf) const
Definition: TfIO.h:11
bool operator!=(const OdTfDigest &other) const
Definition: TfIO.h:21
ODRX_DECLARE_MEMBERS(OdTfIOFactory)
virtual OdTfReaderPtr createReader(const OdString &path)=0
virtual OdTfWriterPtr createWriter(const OdString &path)=0
ODRX_DECLARE_MEMBERS(OdTfReader)
virtual OdStreamBufPtr read(const OdTfDigest &sha1)=0
virtual bool getLabel(const OdString &label, OdTfDigest &sha1)=0
ODRX_DECLARE_MEMBERS(OdTfWriter)
virtual void write(OdStreamBuf *data, OdUInt64 length, OdTfDigest &sha1)=0
virtual bool setLabel(const OdString &label, const OdTfDigest &sha1)=0