Replace the AddRootConsoleCommand API to not expose internal structures.

This commit is contained in:
David Anderson
2015-08-30 21:01:03 -07:00
parent e992c33f35
commit 9d805ea9fb
16 changed files with 83 additions and 90 deletions
+9 -9
View File
@@ -512,7 +512,7 @@ void CExtensionManager::OnSourceModAllInitialized()
{
g_ExtType = g_ShareSys.CreateIdentType("EXTENSION");
pluginsys->AddPluginsListener(this);
rootmenu->AddRootConsoleCommand("exts", "Manage extensions", this);
rootmenu->AddRootConsoleCommand3("exts", "Manage extensions", this);
g_ShareSys.AddInterface(NULL, this);
}
@@ -929,12 +929,12 @@ void CExtensionManager::AddDependency(IExtension *pSource, const char *file, boo
}
}
void CExtensionManager::OnRootConsoleCommand(const char *cmdname, const CCommand &command)
void CExtensionManager::OnRootConsoleCommand(const char *cmdname, const ICommandArgs *command)
{
int argcount = smcore.Argc(command);
int argcount = command->ArgC();
if (argcount >= 3)
{
const char *cmd = smcore.Arg(command, 2);
const char *cmd = command->Arg(2);
if (strcmp(cmd, "list") == 0)
{
List<CExtension *>::iterator iter;
@@ -990,7 +990,7 @@ void CExtensionManager::OnRootConsoleCommand(const char *cmdname, const CCommand
return;
}
const char *filename = smcore.Arg(command, 3);
const char *filename = command->Arg(3);
char path[PLATFORM_MAX_PATH];
char error[256];
@@ -1021,7 +1021,7 @@ void CExtensionManager::OnRootConsoleCommand(const char *cmdname, const CCommand
return;
}
const char *sId = smcore.Arg(command, 3);
const char *sId = command->Arg(3);
unsigned int id = atoi(sId);
if (id <= 0)
{
@@ -1106,7 +1106,7 @@ void CExtensionManager::OnRootConsoleCommand(const char *cmdname, const CCommand
return;
}
const char *arg = smcore.Arg(command, 3);
const char *arg = command->Arg(3);
unsigned int num = atoi(arg);
CExtension *pExt = FindByOrder(num);
@@ -1118,7 +1118,7 @@ void CExtensionManager::OnRootConsoleCommand(const char *cmdname, const CCommand
if (argcount > 4 && pExt->unload_code)
{
const char *unload = smcore.Arg(command, 4);
const char *unload = command->Arg(4);
if (pExt->unload_code == (unsigned)atoi(unload))
{
char filename[PLATFORM_MAX_PATH];
@@ -1223,7 +1223,7 @@ void CExtensionManager::OnRootConsoleCommand(const char *cmdname, const CCommand
return;
}
const char *arg = smcore.Arg(command, 3);
const char *arg = command->Arg(3);
unsigned int num = atoi(arg);
CExtension *pExt = FindByOrder(num);
+1 -1
View File
@@ -161,7 +161,7 @@ public: //IExtensionManager
public: //IPluginsListener
void OnPluginDestroyed(IPlugin *plugin);
public: //IRootConsoleCommand
void OnRootConsoleCommand(const char *cmdname, const CCommand &command);
void OnRootConsoleCommand(const char *cmdname, const ICommandArgs *command) override;
public:
IExtension *LoadAutoExtension(const char *path, bool bErrorOnMissing=true);
void BindDependency(IExtension *pOwner, IfaceInfo *pInfo);
+8 -10
View File
@@ -900,8 +900,6 @@ LoadRes CPluginManager::_LoadPlugin(CPlugin **aResult, const char *path, bool de
if (m_LoadingLocked)
return LoadRes_NeverLoad;
int err;
/**
* Does this plugin already exist?
*/
@@ -1819,7 +1817,7 @@ void CPluginManager::OnSourceModAllInitialized()
g_PluginType = handlesys->CreateType("Plugin", this, 0, NULL, &sec, m_MyIdent, NULL);
g_PluginIdent = g_ShareSys.CreateIdentType("PLUGIN");
rootmenu->AddRootConsoleCommand("plugins", "Manage Plugins", this);
rootmenu->AddRootConsoleCommand3("plugins", "Manage Plugins", this);
g_ShareSys.AddInterface(NULL, GetOldAPI());
@@ -1941,12 +1939,12 @@ static inline bool IS_STR_FILLED(const char *text)
return text[0] != '\0';
}
void CPluginManager::OnRootConsoleCommand(const char *cmdname, const CCommand &command)
void CPluginManager::OnRootConsoleCommand(const char *cmdname, const ICommandArgs *command)
{
int argcount = smcore.Argc(command);
int argcount = command->ArgC();
if (argcount >= 3)
{
const char *cmd = smcore.Arg(command, 2);
const char *cmd = command->Arg(2);
if (strcmp(cmd, "list") == 0)
{
char buffer[256];
@@ -2035,7 +2033,7 @@ void CPluginManager::OnRootConsoleCommand(const char *cmdname, const CCommand &c
char error[128];
bool wasloaded;
const char *filename = smcore.Arg(command, 3);
const char *filename = command->Arg(3);
char pluginfile[256];
const char *ext = libsys->GetFileExtension(filename) ? "" : ".smx";
@@ -2070,7 +2068,7 @@ void CPluginManager::OnRootConsoleCommand(const char *cmdname, const CCommand &c
CPlugin *pl;
char *end;
const char *arg = smcore.Arg(command, 3);
const char *arg = command->Arg(3);
int id = strtol(arg, &end, 10);
if (*end == '\0')
@@ -2160,7 +2158,7 @@ void CPluginManager::OnRootConsoleCommand(const char *cmdname, const CCommand &c
CPlugin *pl;
char *end;
const char *arg = smcore.Arg(command, 3);
const char *arg = command->Arg(3);
int id = strtol(arg, &end, 10);
if (*end == '\0')
@@ -2291,7 +2289,7 @@ void CPluginManager::OnRootConsoleCommand(const char *cmdname, const CCommand &c
CPlugin *pl;
char *end;
const char *arg = smcore.Arg(command, 3);
const char *arg = command->Arg(3);
int id = strtol(arg, &end, 10);
if (*end == '\0')
+1 -1
View File
@@ -347,7 +347,7 @@ public: //IHandleTypeDispatch
void OnHandleDestroy(HandleType_t type, void *object);
bool GetHandleApproxSize(HandleType_t type, void *object, unsigned int *pSize);
public: //IRootConsoleCommand
void OnRootConsoleCommand(const char *cmdname, const CCommand &command);
void OnRootConsoleCommand(const char *cmdname, const ICommandArgs *command) override;
public:
/**
* Loads all plugins not yet loaded
+2 -2
View File
@@ -40,7 +40,7 @@ ProfileToolManager::ProfileToolManager()
void
ProfileToolManager::OnSourceModAllInitialized()
{
rootmenu->AddRootConsoleCommand2("prof", "Profiling", this);
rootmenu->AddRootConsoleCommand3("prof", "Profiling", this);
}
void
@@ -95,7 +95,7 @@ ProfileToolManager::StartFromConsole(IProfilingTool *tool)
}
void
ProfileToolManager::OnRootConsoleCommand2(const char *cmdname, const ICommandArgs *args)
ProfileToolManager::OnRootConsoleCommand(const char *cmdname, const ICommandArgs *args)
{
if (tools_.length() == 0) {
rootmenu->ConsolePrint("No profiling tools are enabled.");
+1 -1
View File
@@ -48,7 +48,7 @@ public:
void OnSourceModShutdown() override;
// IRootConsoleCommand
void OnRootConsoleCommand2(const char *cmdname, const ICommandArgs *args) override;
void OnRootConsoleCommand(const char *cmdname, const ICommandArgs *args) override;
void RegisterTool(IProfilingTool *tool) {
tools_.append(tool);
+1 -1
View File
@@ -52,7 +52,7 @@ using namespace SourceHook;
* Add 1 to the RHS of this expression to bump the intercom file
* This is to prevent mismatching core/logic binaries
*/
#define SM_LOGIC_MAGIC (0x0F47C0DE - 35)
#define SM_LOGIC_MAGIC (0x0F47C0DE - 36)
#if defined SM_LOGIC
class IVEngineServer