Upload mirror
This commit is contained in:
1 parent
d0038e50d7
commit
3636ecd7cd
10 files changed
+1700
No files matched your search
@@ -0,0 +1,115 @@
|
||||
|
||||
/* API - Natives & Forwards */
|
||||
|
||||
static Handle fwd_OnPluginChecking = INVALID_HANDLE;
|
||||
static Handle fwd_OnPluginDownloading = INVALID_HANDLE;
|
||||
static Handle fwd_OnPluginUpdating = INVALID_HANDLE;
|
||||
static Handle fwd_OnPluginUpdated = INVALID_HANDLE;
|
||||
|
||||
void API_Init()
|
||||
{
|
||||
CreateNative("Updater_AddPlugin", Native_AddPlugin);
|
||||
CreateNative("Updater_RemovePlugin", Native_RemovePlugin);
|
||||
CreateNative("Updater_ForceUpdate", Native_ForceUpdate);
|
||||
|
||||
fwd_OnPluginChecking = CreateForward(ET_Event);
|
||||
fwd_OnPluginDownloading = CreateForward(ET_Event);
|
||||
fwd_OnPluginUpdating = CreateForward(ET_Ignore);
|
||||
fwd_OnPluginUpdated = CreateForward(ET_Ignore);
|
||||
}
|
||||
|
||||
// native Updater_AddPlugin(const char[] url);
|
||||
public int Native_AddPlugin(Handle plugin, int numParams)
|
||||
{
|
||||
char url[MAX_URL_LENGTH];
|
||||
GetNativeString(1, url, sizeof(url));
|
||||
|
||||
Updater_AddPlugin(plugin, url);
|
||||
}
|
||||
|
||||
// native Updater_RemovePlugin();
|
||||
public int Native_RemovePlugin(Handle plugin, int numParams)
|
||||
{
|
||||
int index = PluginToIndex(plugin);
|
||||
|
||||
if (index != -1)
|
||||
{
|
||||
Updater_QueueRemovePlugin(plugin);
|
||||
}
|
||||
}
|
||||
|
||||
// native bool Updater_ForceUpdate();
|
||||
public int Native_ForceUpdate(Handle plugin, int numParams)
|
||||
{
|
||||
int index = PluginToIndex(plugin);
|
||||
|
||||
if (index == -1)
|
||||
{
|
||||
ThrowNativeError(SP_ERROR_NOT_FOUND, "Plugin not found in updater.");
|
||||
}
|
||||
else if (Updater_GetStatus(index) == Status_Idle)
|
||||
{
|
||||
Updater_Check(index);
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// forward Action:Updater_OnPluginChecking();
|
||||
Action Fwd_OnPluginChecking(Handle plugin)
|
||||
{
|
||||
Action result = Plugin_Continue;
|
||||
Function func = GetFunctionByName(plugin, "Updater_OnPluginChecking");
|
||||
|
||||
if (func != INVALID_FUNCTION && AddToForward(fwd_OnPluginChecking, plugin, func))
|
||||
{
|
||||
Call_StartForward(fwd_OnPluginChecking);
|
||||
Call_Finish(result);
|
||||
RemoveAllFromForward(fwd_OnPluginChecking, plugin);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// forward Action:Updater_OnPluginDownloading();
|
||||
Action Fwd_OnPluginDownloading(Handle plugin)
|
||||
{
|
||||
Action result = Plugin_Continue;
|
||||
Function func = GetFunctionByName(plugin, "Updater_OnPluginDownloading");
|
||||
|
||||
if (func != INVALID_FUNCTION && AddToForward(fwd_OnPluginDownloading, plugin, func))
|
||||
{
|
||||
Call_StartForward(fwd_OnPluginDownloading);
|
||||
Call_Finish(result);
|
||||
RemoveAllFromForward(fwd_OnPluginDownloading, plugin);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// forward Updater_OnPluginUpdating();
|
||||
void Fwd_OnPluginUpdating(Handle plugin)
|
||||
{
|
||||
Function func = GetFunctionByName(plugin, "Updater_OnPluginUpdating");
|
||||
|
||||
if (func != INVALID_FUNCTION && AddToForward(fwd_OnPluginUpdating, plugin, func))
|
||||
{
|
||||
Call_StartForward(fwd_OnPluginUpdating);
|
||||
Call_Finish();
|
||||
RemoveAllFromForward(fwd_OnPluginUpdating, plugin);
|
||||
}
|
||||
}
|
||||
|
||||
// forward Updater_OnPluginUpdated();
|
||||
void Fwd_OnPluginUpdated(Handle plugin)
|
||||
{
|
||||
Function func = GetFunctionByName(plugin, "Updater_OnPluginUpdated");
|
||||
|
||||
if (func != INVALID_FUNCTION && AddToForward(fwd_OnPluginUpdated, plugin, func))
|
||||
{
|
||||
Call_StartForward(fwd_OnPluginUpdated);
|
||||
Call_Finish();
|
||||
RemoveAllFromForward(fwd_OnPluginUpdated, plugin);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user