Dyninst::SerDesBin Class Reference

#include <serialize.h>

Inheritance diagram for Dyninst::SerDesBin:
Dyninst::SerDes

Data Structures

struct  cache_header_t

Public Member Functions

COMMON_EXPORT SerDesBin ()
COMMON_EXPORT SerDesBin (FILE *ff, iomode_t mode, bool verbose=false)
virtual COMMON_EXPORT ~SerDesBin ()
COMMON_EXPORT bool isEOF ()
virtual COMMON_EXPORT void file_start (std::string &full_file_path)
virtual COMMON_EXPORT void vector_start (unsigned long &size, const char *tag=NULL) DECLTHROW(SerializerError)
virtual COMMON_EXPORT void vector_end ()
virtual COMMON_EXPORT void multimap_start (unsigned long &size, const char *tag=NULL) DECLTHROW(SerializerError)
virtual COMMON_EXPORT void multimap_end ()
virtual COMMON_EXPORT void pair_start (const char *tag=NULL) DECLTHROW(SerializerError)
virtual COMMON_EXPORT void pair_end ()
virtual COMMON_EXPORT void hash_map_start (unsigned long &size, const char *tag=NULL) DECLTHROW(SerializerError)
virtual COMMON_EXPORT void hash_map_end ()
virtual COMMON_EXPORT void annotation_start (Dyninst::AnnotationClassID &a_id, void *&, sparse_or_dense_anno_t &, const char *string_id, const char *tag=NULL)
virtual COMMON_EXPORT void annotation_end ()
virtual COMMON_EXPORT void annotation_container_start (void *&id)
virtual COMMON_EXPORT void annotation_container_end ()
virtual COMMON_EXPORT void annotation_container_item_start (void *&id)
virtual COMMON_EXPORT void annotation_container_item_end ()
virtual COMMON_EXPORT void annotation_list_start (Address &id, unsigned long &nelem, const char *tag="AnnotationList")
virtual COMMON_EXPORT void annotation_list_end ()
virtual COMMON_EXPORT void translate (bool &param, const char *tag=NULL)
virtual COMMON_EXPORT void translate (char &param, const char *tag=NULL)
virtual COMMON_EXPORT void translate (int &param, const char *tag=NULL)
virtual COMMON_EXPORT void translate (long &param, const char *tag=NULL)
virtual COMMON_EXPORT void translate (short &param, const char *tag=NULL)
virtual COMMON_EXPORT void translate (unsigned short &param, const char *tag=NULL)
virtual COMMON_EXPORT void translate (unsigned int &param, const char *tag=NULL)
virtual COMMON_EXPORT void translate (float &param, const char *tag=NULL)
virtual COMMON_EXPORT void translate (double &param, const char *tag=NULL)
virtual COMMON_EXPORT void translate (Address &param, const char *tag=NULL)
virtual COMMON_EXPORT void translate (void *&param, const char *tag=NULL)
virtual COMMON_EXPORT void translate (const char *&param, int bufsize=0, const char *tag=NULL)
virtual COMMON_EXPORT void translate (char *&param, int bufsize=0, const char *tag=NULL)
virtual COMMON_EXPORT void translate (std::string &param, const char *tag=NULL)
virtual COMMON_EXPORT void translate (std::vector< std::string > &param, const char *tag=NULL, const char *elem_tag=NULL)
virtual COMMON_EXPORT void magic_check (const char *file__, unsigned int line__)
virtual COMMON_EXPORT iomode_t iomode ()

Static Public Member Functions

static COMMON_EXPORT FILE * init (std::string fname, iomode_t mode, bool verbose)
static COMMON_EXPORT void readHeaderAndVerify (std::string full_file_path, std::string cache_name, FILE *f=NULL)
static COMMON_EXPORT void writeHeaderPreamble (FILE *f, std::string full_file_path, std::string cache_name)
static COMMON_EXPORT bool getDefaultCacheDir (std::string &cache_dir)
static COMMON_EXPORT bool resolveCachePath (std::string fname, std::string &cache_name)
static COMMON_EXPORT bool verifyChecksum (std::string &filename, const char comp_checksum[SHA1_DIGEST_LEN])
static COMMON_EXPORT bool cacheFileExists (std::string fname)
static COMMON_EXPORT bool invalidateCache (std::string cache_name)

Protected Attributes

iomode_t iomode_

Private Attributes

FILE * f
bool noisy

Detailed Description

Definition at line 504 of file serialize.h.


Constructor & Destructor Documentation

COMMON_EXPORT Dyninst::SerDesBin::SerDesBin (  )  [inline]

Definition at line 521 of file serialize.h.

COMMON_EXPORT Dyninst::SerDesBin::SerDesBin ( FILE *  ff,
iomode_t  mode,
bool  verbose = false 
) [inline]

Definition at line 523 of file serialize.h.

SerDesBin::~SerDesBin (  )  [virtual]

Definition at line 847 of file serialize-bin.C.


Member Function Documentation

void SerDesBin::annotation_container_end (  )  [virtual]

Implements Dyninst::SerDes.

Definition at line 1338 of file serialize-bin.C.

References FILE__, and magic_check().

void SerDesBin::annotation_container_item_end (  )  [virtual]

Implements Dyninst::SerDes.

Definition at line 1351 of file serialize-bin.C.

References FILE__, and magic_check().

void SerDesBin::annotation_container_item_start ( void *&  id  )  [virtual]

Implements Dyninst::SerDes.

Definition at line 1343 of file serialize-bin.C.

References FILE__, magic_check(), and translate().

void SerDesBin::annotation_container_start ( void *&  id  )  [virtual]

Implements Dyninst::SerDes.

Definition at line 1330 of file serialize-bin.C.

References FILE__, magic_check(), and translate().

void SerDesBin::annotation_end (  )  [virtual]

Implements Dyninst::SerDes.

Definition at line 1324 of file serialize-bin.C.

void SerDesBin::annotation_list_end (  )  [virtual]

Implements Dyninst::SerDes.

Definition at line 1394 of file serialize-bin.C.

void SerDesBin::annotation_list_start ( Address id,
unsigned long &  nelem,
const char *  tag = "AnnotationList" 
) [virtual]
void SerDesBin::annotation_start ( Dyninst::AnnotationClassID a_id,
void *&  parent_id,
sparse_or_dense_anno_t sod,
const char *  string_id,
const char *  tag = NULL 
) [virtual]
bool SerDesBin::cacheFileExists ( std::string  fname  )  [static]

Definition at line 1070 of file serialize-bin.C.

References resolveCachePath().

void SerDesBin::file_start ( std::string &  full_file_path  )  [virtual]

Reimplemented from Dyninst::SerDes.

Definition at line 1239 of file serialize-bin.C.

bool SerDesBin::getDefaultCacheDir ( std::string &  cache_dir  )  [static]
void SerDesBin::hash_map_end (  )  [virtual]

Implements Dyninst::SerDes.

Definition at line 1297 of file serialize-bin.C.

void SerDesBin::hash_map_start ( unsigned long &  size,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1290 of file serialize-bin.C.

References translate().

FILE * SerDesBin::init ( std::string  fname,
iomode_t  mode,
bool  verbose 
) [static]
bool SerDesBin::invalidateCache ( std::string  cache_name  )  [static]

Definition at line 1227 of file serialize-bin.C.

References FILE__, fprintf, and P_unlink().

Referenced by readHeaderAndVerify().

virtual COMMON_EXPORT iomode_t Dyninst::SerDes::iomode (  )  [inline, virtual, inherited]

Definition at line 428 of file serialize.h.

References Dyninst::SerDes::iomode_.

Referenced by annotation_start().

bool SerDesBin::isEOF (  )  [virtual]

Reimplemented from Dyninst::SerDes.

Definition at line 851 of file serialize-bin.C.

References f.

Referenced by magic_check().

void SerDesBin::magic_check ( const char *  file__,
unsigned int  line__ 
) [virtual]
void SerDesBin::multimap_end (  )  [virtual]

Implements Dyninst::SerDes.

Definition at line 1276 of file serialize-bin.C.

void SerDesBin::multimap_start ( unsigned long &  size,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1269 of file serialize-bin.C.

References translate().

void SerDesBin::pair_end (  )  [virtual]

Implements Dyninst::SerDes.

Definition at line 1285 of file serialize-bin.C.

void SerDesBin::pair_start ( const char *  tag = NULL  )  [virtual]

Implements Dyninst::SerDes.

Definition at line 1281 of file serialize-bin.C.

void SerDesBin::readHeaderAndVerify ( std::string  full_file_path,
std::string  cache_name,
FILE *  f = NULL 
) [static]
bool SerDesBin::resolveCachePath ( std::string  fname,
std::string &  cache_name 
) [static]
void SerDesBin::translate ( std::vector< std::string > &  param,
const char *  tag = NULL,
const char *  elem_tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1742 of file serialize-bin.C.

References Dyninst::SerDes::iomode_, and translate().

void SerDesBin::translate ( std::string &  param,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1720 of file serialize-bin.C.

References FILE__, Dyninst::SerDes::iomode_, serialize_printf, and translate().

void SerDesBin::translate ( char *&  param,
int  bufsize = 0,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1713 of file serialize-bin.C.

References translate().

void SerDesBin::translate ( const char *&  param,
int  bufsize = 0,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1637 of file serialize-bin.C.

References f, FILE__, fprintf, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.

void SerDesBin::translate ( void *&  param,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1613 of file serialize-bin.C.

References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.

void SerDesBin::translate ( Address param,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1588 of file serialize-bin.C.

References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.

void SerDesBin::translate ( double &  param,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1564 of file serialize-bin.C.

References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.

void SerDesBin::translate ( float &  param,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1540 of file serialize-bin.C.

References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.

void SerDesBin::translate ( unsigned int &  param,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1534 of file serialize-bin.C.

References translate().

void SerDesBin::translate ( unsigned short &  param,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1503 of file serialize-bin.C.

References translate().

void SerDesBin::translate ( short &  param,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1510 of file serialize-bin.C.

References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.

void SerDesBin::translate ( long &  param,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1479 of file serialize-bin.C.

References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.

void SerDesBin::translate ( int &  param,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1449 of file serialize-bin.C.

References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.

void SerDesBin::translate ( char &  param,
const char *  tag = NULL 
) [virtual]

Implements Dyninst::SerDes.

Definition at line 1424 of file serialize-bin.C.

References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.

void SerDesBin::translate ( bool &  param,
const char *  tag = NULL 
) [virtual]
void SerDesBin::vector_end (  )  [virtual]

Implements Dyninst::SerDes.

Definition at line 1264 of file serialize-bin.C.

void SerDesBin::vector_start ( unsigned long &  size,
const char *  tag = NULL 
) [virtual]
static COMMON_EXPORT bool Dyninst::SerDesBin::verifyChecksum ( std::string &  filename,
const char  comp_checksum[SHA1_DIGEST_LEN] 
) [static]

Referenced by readHeaderAndVerify().

void SerDesBin::writeHeaderPreamble ( FILE *  f,
std::string  full_file_path,
std::string  cache_name 
) [static]

Field Documentation

FILE* Dyninst::SerDesBin::f [private]

Definition at line 512 of file serialize.h.

Referenced by init(), isEOF(), readHeaderAndVerify(), and translate().

iomode_t Dyninst::SerDes::iomode_ [protected, inherited]
bool Dyninst::SerDesBin::noisy [private]

Definition at line 514 of file serialize.h.

Referenced by translate().


The documentation for this class was generated from the following files:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Jul 2013 for SymtabAPI by  doxygen 1.6.1