Logo Search packages:      
Sourcecode: firebird3.0 version File versions  Download package

Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes

Firebird::ClumpletWriter Class Reference

Inheritance diagram for Firebird::ClumpletWriter:
Inheritance graph
Collaboration diagram for Firebird::ClumpletWriter:
Collaboration graph

List of all members.

Public Types

enum  Kind {
  EndOfList, Tagged, UnTagged, SpbAttach,
  SpbStart, Tpb, WideTagged, WideUnTagged,

Public Member Functions

void clear ()
 ClumpletWriter (Kind k, size_t limit, UCHAR tag=0)
 ClumpletWriter (MemoryPool &pool, Kind k, size_t limit, UCHAR tag=0)
 ClumpletWriter (const KindList *kl, size_t limit, const UCHAR *buffer=NULL, size_t buffLen=0)
 ClumpletWriter (MemoryPool &pool, const KindList *kl, size_t limit, const UCHAR *buffer=NULL, size_t buffLen=0)
 ClumpletWriter (Kind k, size_t limit, const UCHAR *buffer, size_t buffLen, UCHAR tag)
void deleteClumplet ()
bool deleteWithTag (UCHAR tag)
void dump () const
bool find (UCHAR tag)
SINT64 getBigInt () const
bool getBoolean () const
virtual const UCHAR * getBuffer () const
size_t getBufferLength () const
UCHAR getBufferTag () const
const UCHAR * getBytes () const
size_t getClumpLength () const
UCHAR getClumpTag () const
size_t getCurOffset () const
ISC_DATE getDate () const
double getDouble () const
SLONG getInt () const
PathNamegetPath (PathName &str) const
stringgetString (string &str) const
ISC_TIME getTime () const
ISC_TIMESTAMP getTimeStamp () const
void insertBigInt (UCHAR tag, const SINT64 value)
void insertByte (UCHAR tag, const UCHAR byte)
void insertBytes (UCHAR tag, const void *bytes, size_t length)
void insertClumplet (const SingleClumplet &clumplet)
void insertDate (UCHAR tag, ISC_DATE value)
void insertDouble (UCHAR tag, const double value)
void insertEndMarker (UCHAR tag)
void insertInt (UCHAR tag, const SLONG value)
void insertPath (UCHAR tag, const PathName &str)
void insertString (UCHAR tag, const string &str)
void insertString (UCHAR tag, const char *str, size_t length)
void insertTag (UCHAR tag)
void insertTime (UCHAR tag, ISC_TIME value)
void insertTimeStamp (UCHAR tag, const ISC_TIMESTAMP value)
bool isEof () const
void moveNext ()
void reset (const UCHAR *buffer, const size_t buffLen)
void reset (UCHAR tag)
void rewind ()
void setCurOffset (size_t newOffset)
bool simpleCompare (const ClumpletReader &other) const

Static Public Attributes

static const KindList dpbList []
static const KindList spbList []

Protected Types

enum  ClumpletType {
  TraditionalDpb, SingleTpb, StringSpb, IntSpb,
  ByteSpb, Wide

Protected Member Functions

void adjustSpbState ()
virtual const UCHAR * getBufferEnd () const
SingleClumplet getClumplet () const
size_t getClumpletSize (bool wTag, bool wLength, bool wData) const
ClumpletType getClumpletType (UCHAR tag) const
MemoryPoolgetPool () const
void insertBytesLengthCheck (UCHAR tag, const void *bytes, const size_t length)
virtual void invalid_structure (const char *what) const
virtual void size_overflow ()
bool upgradeVersion ()
virtual void usage_mistake (const char *what) const

Static Protected Member Functions

static MemoryPoolgetAutoMemoryPool ()

Protected Attributes

size_t cur_offset
Kind kind
UCHAR spbState

Private Member Functions

 ClumpletWriter (const ClumpletWriter &from)
void create (const UCHAR *buffer, size_t buffLen, UCHAR tag)
void initNewBuffer (UCHAR tag)
ClumpletWriteroperator= (const ClumpletWriter &from)

Static Private Member Functions

static void toVaxInteger (UCHAR *ptr, size_t length, const SINT64 value)

Private Attributes

HalfStaticArray< UCHAR, 128 > dynamic_buffer
const KindListkindList
size_t sizeLimit

Detailed Description

Definition at line 43 of file ClumpletWriter.h.

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index