ROSE  0.11.66.0
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
LibraryIdentification::LibraryInfo Class Reference

Description

Definition at line 24 of file LibraryInfo.h.

Collaboration diagram for LibraryIdentification::LibraryInfo:
Collaboration graph
[legend]

Public Member Functions

 LibraryInfo (const std::string &ilibName, const std::string &ilibVersion, const std::string &ilibHash, const std::string &iarchitecture)
 LibraryInfo. More...
 
 LibraryInfo (const std::string &ilibHash)
 LibraryInfo. More...
 
std::string toString ()
 toString More...
 

Static Public Member Functions

static LibraryInfo getUnknownLibraryInfo ()
 getUnknownLibraryInfo More...
 
static LibraryInfo getMultiLibraryInfo ()
 getMultiLibraryInfo More...
 

Public Attributes

std::string libName
 
std::string libVersion
 
std::string libHash
 
std::string architecture
 
time_t analysisTime
 

Friends

bool operator< (const LibraryInfo &lhs, const LibraryInfo &rhs)
 operator< More...
 

Constructor & Destructor Documentation

LibraryIdentification::LibraryInfo::LibraryInfo ( const std::string &  ilibName,
const std::string &  ilibVersion,
const std::string &  ilibHash,
const std::string &  iarchitecture 
)
inline

LibraryInfo.

Constructor. Combines all the information required to identify a library. This constructor allows the user to define everything.

Parameters
[in]libNameName of the library to add
[in]libVersionVersion of the library (Please use Fowler-Noll-Vo HasherFnv class in Combinatorics.h)
[in]libHashUnique Hash of the library to add (Please use Fowler-Noll-Vo HasherFnv class in Combinatorics.h)
[in]architecturearchitecture library was built for

Definition at line 41 of file LibraryInfo.h.

Referenced by getMultiLibraryInfo(), and getUnknownLibraryInfo().

LibraryIdentification::LibraryInfo::LibraryInfo ( const std::string &  ilibHash)
inline

LibraryInfo.

WARNING: DEPRECATED. Doesn't work with the partitioner. Constructor. Combines all the information required to identify a library. This constructor constructs the hash, and all other library info, from a SgAsmGenericFile. Unfortunately, the name and version of the library is only availible from dynamic libraries, so it must be passed in here. WARNING: Currently Elf files only! WARNING: DEPRECATED. Doesn't work with the partitioner.

Parameters
[in]libNameName of the library to add
[in]libVersionVersion of the library
[in]libraryFileThe library file we are storing LibraryInfo

Constructor. Only takes the hash, Rest to be filled in from matching in the database.

Parameters
[in]libHashUnique Hash of the library to add

Definition at line 92 of file LibraryInfo.h.

Member Function Documentation

static LibraryInfo LibraryIdentification::LibraryInfo::getUnknownLibraryInfo ( )
inlinestatic

getUnknownLibraryInfo

Constructs and returns the special sentinal "Unknown Library" instance for functions that couldn't be identified.

Definition at line 112 of file LibraryInfo.h.

References LibraryInfo().

static LibraryInfo LibraryIdentification::LibraryInfo::getMultiLibraryInfo ( )
inlinestatic

getMultiLibraryInfo

Constructs and returns the special sentinal "Multi Library" instance for functions that couldn't be uniquely identified. ie, a function with this hash appears in multiple libraries (probably with multiple names)

Definition at line 125 of file LibraryInfo.h.

References LibraryInfo().

std::string LibraryIdentification::LibraryInfo::toString ( )
inline

toString

Human readable libary identifier

Definition at line 136 of file LibraryInfo.h.

Friends And Related Function Documentation

bool operator< ( const LibraryInfo lhs,
const LibraryInfo rhs 
)
friend

operator<

Lessthan operator for sorting and recognizing duplicates

Definition at line 100 of file LibraryInfo.h.


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