landing XPCOM_BRANCH
git-svn-id: svn://10.0.0.236/trunk@2218 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -23,13 +23,32 @@
|
||||
|
||||
static PRBool gUnreg = PR_FALSE;
|
||||
|
||||
void print_err(nsresult err)
|
||||
{
|
||||
switch (err) {
|
||||
case NS_ERROR_FACTORY_NOT_LOADED:
|
||||
cerr << "Factory not loaded";
|
||||
break;
|
||||
case NS_NOINTERFACE:
|
||||
cerr << "No Interface";
|
||||
break;
|
||||
case NS_ERROR_NULL_POINTER:
|
||||
cerr << "Null pointer";
|
||||
break;
|
||||
case NS_ERROR_OUT_OF_MEMORY:
|
||||
cerr << "Out of memory";
|
||||
break;
|
||||
default:
|
||||
cerr << hex << err << dec;
|
||||
}
|
||||
}
|
||||
PRLibrary *GetLib(const char *path) {
|
||||
return PR_LoadLibrary(path);
|
||||
}
|
||||
|
||||
int Register(const char *path)
|
||||
nsresult Register(const char *path)
|
||||
{
|
||||
int res = NS_OK;
|
||||
nsresult res = NS_OK;
|
||||
PRLibrary *instance = GetLib(path);
|
||||
if (instance != NULL) {
|
||||
nsRegisterProc proc = (nsRegisterProc) PR_FindSymbol(instance,
|
||||
@@ -45,9 +64,9 @@ int Register(const char *path)
|
||||
return res;
|
||||
}
|
||||
|
||||
int Unregister(const char *path)
|
||||
nsresult Unregister(const char *path)
|
||||
{
|
||||
int res = NS_OK;
|
||||
nsresult res = NS_OK;
|
||||
PRLibrary *instance = GetLib(path);
|
||||
if (instance != NULL) {
|
||||
nsUnregisterProc proc = (nsUnregisterProc) PR_FindSymbol(instance,
|
||||
@@ -87,14 +106,18 @@ int ProcessArgs(int argc, char *argv[])
|
||||
if (NS_SUCCEEDED(res)) {
|
||||
cout << "Successfully unregistered: " << argv[i] << "\n";
|
||||
} else {
|
||||
cerr << "Unregister failed (" << res << "): " << argv[i] << "\n";
|
||||
cerr << "Unregister failed (";
|
||||
print_err(res);
|
||||
cerr << "): " << argv[i] << "\n";
|
||||
}
|
||||
} else {
|
||||
res = Register(argv[i]);
|
||||
if (NS_SUCCEEDED(res)) {
|
||||
cout << "Successfully registered: " << argv[i] << "\n";
|
||||
} else {
|
||||
cerr << "Register failed (" << res << "): " << argv[i] << "\n";
|
||||
cerr << "Register failed (";
|
||||
print_err(res);
|
||||
cerr << "): " << argv[i] << "\n";
|
||||
}
|
||||
}
|
||||
i++;
|
||||
|
||||
Reference in New Issue
Block a user