00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 void TGo4LoadedLibraries::init()
00025 {
00026 RefreshLibs();
00027 UnloadLibBtn->hide();
00028 }
00029
00030 void TGo4LoadedLibraries::LoadNewLibrary()
00031 {
00032 QFileDialog fd(this, "Load Library", TRUE );
00033 fd.setMode( QFileDialog::ExistingFiles);
00034 fd.setName( "Load Shared Library ");
00035 fd.setFilter( "Library (*.so)" );
00036
00037 if ( fd.exec() != QDialog::Accepted ) return;
00038
00039 QStringList list = fd.selectedFiles();
00040 QStringList::Iterator it = list.begin();
00041 while( it != list.end() ) {
00042 gSystem->Load((*it).latin1());
00043 ++it;
00044 }
00045
00046 RefreshLibs();
00047 }
00048
00049 void TGo4LoadedLibraries::UnloadLibrary()
00050 {
00051 QListViewItemIterator it(LoadedLibsD);
00052 for ( ; it.current(); ++it )
00053 if ( it.current()->isSelected() )
00054 gSystem->Unload(it.current()->text(0).latin1());
00055
00056 RefreshLibs();
00057 }
00058
00059 void TGo4LoadedLibraries::RefreshLibs()
00060 {
00061 char seps[]=" ,\t\n";
00062 char buffer[16];
00063
00064 LoadedLibsD->clear();
00065 QString T = gInterpreter->GetSharedLibs();
00066
00067 char* tokbuf = 0;
00068 char *token = strtok_r((char *)T.latin1(), seps, &tokbuf);
00069
00070 while(token!=NULL) {
00071 QFileInfo fi(token);
00072 snprintf(buffer,15,"%d",fi.size());
00073 new QListViewItem(LoadedLibsD,token,QString(buffer),
00074 fi.lastModified().toString(), fi.owner(), fi.group() );
00075 token = strtok_r(NULL, seps, &tokbuf);
00076 }
00077
00078 LoadedLibsS->clear();
00079 QString T1 = gSystem->GetLinkedLibs();
00080
00081 token =strtok_r((char *)T1.latin1(), seps, &tokbuf);
00082
00083 while(token!=NULL) {
00084 new QListViewItem(LoadedLibsS,token);
00085 token = strtok_r(NULL, seps, &tokbuf);
00086 }
00087 }
00088
00089