model_server/process/src/SymManager.h.cxx
//
// SymbolManager::SymbolManager
//
// Constructor
//
// This class manages retrieving symbols from the symbol table, splitting names
// and retrieving a list of all matches. The executable name is passed to the
// constructor and the symbol table is read from the file.
//


This class manages retrieving symbols from the symbol table, splitting names
and retrieving a list of all matches. The executable name is passed to the
constructor and the symbol table is read from the file.
This class manages retrieving symbols from the symbol table splitting names and retrieving a list of all matches . The executable name is passed to the constructor and the symbol table is read from the file .
SymbolManager::SymbolManager(char* executable)
{
    MangleType m_type = CFRONT_MANGLE;
    if(dbm = dbm_open (executable, O_RDONLY, 0)) 
    {
        if(!SymbolManager::linked_correctly(executable) ||
           !SymbolManager::good_pag_file(executable)) 
	{
	    dbm_close(dbm);
	    dbm = 0;
	} else {
	    datum dbm_data = dbm_retrieve(dbm, "<MANGLE_TYPE>");
	    if (dbm_data.dptr && dbm_data.dsize >= sizeof (mangle_type))
		memcpy (&m_type, dbm_data.dptr, sizeof (mangle_type));
	}
    }
    mangle_type = m_type;
    executableName(executable);
    shared_header = newSharedLibraryInfo(0, executable);
}
SymbolManager :: SymbolManager ( char * executable ) { MangleType m_type = CFRONT_MANGLE ; if ( dbm = dbm_open ( executable , O_RDONLY , 0 ) ) { if ( ! SymbolManager :: linked_correctly ( executable ) || ! SymbolManager :: good_pag_file ( executable ) ) { dbm_close ( dbm ) ; dbm = 0 ; } else { datum dbm_data = dbm_retrieve ( dbm , " " ) ; if ( dbm_data . dptr && dbm_data . dsize >= sizeof ( mangle_type ) ) memcpy ( & m_type , dbm_data . dptr , sizeof ( mangle_type ) ) ; } } mangle_type = m_type ; executableName ( executable ) ; shared_header = newSharedLibraryInfo ( 0 , executable ) ; }
SymbolManager::SymbolManager
Constructor
SymbolManager :: SymbolManager Constructor