void ForgiveTK::AllPluginsLoaded()
{
//AdminInterfaceListner *AdminInterfacePointer;
if(m_AdminManager) // We dont need to find the AdminInterface again, we allready found it once.
return;
//we don't really need this for anything other than interplugin communication
//and that's not used in this plugin.
//If we really wanted, we could override the factories so other plugins can request
// interfaces we make. In this callback, the plugin could be assured that either
// the interfaces it requires were either loaded in another plugin or not.
PluginId id2;
void *ptr = g_SMAPI->MetaFactory("AdminInterface", NULL, &id2);
if (!ptr)
{
ServerCommand("echo [ForgiveTK Error] Did not find AdminInterface, plugin will not check admin rights");
} else if(id2 > 100) { // This is to prevent a crash bug
m_AdminManager = (AdminInterface *)ptr;
m_AdminManager->AddEventListner(this);
int InterfaceVersion = m_AdminManager->GetInterfaceVersion();
if(InterfaceVersion == ADMININTERFACE_VERSION)
{
ServerCommand("echo [ForgiveTK] Found AdminInterface via %s (Interface version: %d)",m_AdminManager->GetModName(),InterfaceVersion);
#if FTK_DEBUG == 1
ServerCommand("echo [ForgiveTK] Found AdminInterface[%d] at (%p), via %s (Interface version: %d)", id2, ptr,m_AdminManager->GetModName(),InterfaceVersion);
#endif
}
else
ServerCommand("echo [ForgiveTK] Found AdminInterface via %s (Interface version: %d), but internal version is %d",m_AdminManager->GetModName(),InterfaceVersion,ADMININTERFACE_VERSION);
}
}