1 #ifndef FUNCTION_ID_DATABASE_INTERFACE_H
2 #define FUNCTION_ID_DATABASE_INTERFACE_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
7 #include "LibraryInfo.h"
8 #include "FunctionInfo.h"
113 void addLibraryToDB(
const LibraryInfo& lInfo,
bool replace =
false);
123 std::string database_name;
126 sqlite3x::sqlite3_connection sqConnection;
class FunctionInfo Combines all the information to uniquely identify a single function in one object...
bool matchOneFunction(FunctionInfo &fInfo)
Lookup a single function in the database.
FunctionIdDatabaseInterface(const std::string &dbName)
FunctionIdentification.
void createTables()
createTables Make sure that all the tables are defined in the function identification database...
void removeFunctions(const std::string &funcHash)
Removes any functions that match the hash from the database.
Creates and holds the handle for the sqlite database used for storing and matching libraries and func...
DUPLICATE_OPTION
Option for what to do if a function with the same hash is found when adding a function.
std::vector< FunctionInfo > matchFunction(const FunctionInfo &fInfo)
Lookup all functions with the hash in the database.
bool matchLibrary(LibraryInfo &fInfo)
Lookup a library in the database.
bool exactMatchFunction(const FunctionInfo &fInfo)
Exactly lookup a function in the database.