Jak dodać własny link do kanału aktualizacji poprzez inną wtyczkę? Do tego celu należy użyć funkcji FIXUPDATER_SYSTEM_ADDLINK = "FixUpdater/System/AddLink". Wywołujemy przez CallService funkcję AQQ_SYSTEM_SENDHOOK, gdzie: wParam=PPluginHook, lParam=0 czyli (kod w C++):
PluginLink.CallService(AQQ_SYSTEM_SENDHOOK,(WPARAM)(&PluginHook),0);
Przed wywołaniem wypełniamy strukturę PluginHook (kod w C++):
TPluginHook PluginHook;
PluginHook.HookName = FIXUPDATER_SYSTEM_ADDLINK; // = L"FixUpdater/System/AddLink"
PluginHook.wParam = bool; // 1 dla kanału aktywnego, 0 dla nieatywnego
PluginHook.lParam = (wchar_t*)(URL); // Wskaźnik na adres URL nowego kanału
Wtyczka FixUpdater odbierze wysłane informacje nowego linku, zapisze je i od razu znajdą się one w aktualizatorze AQQ.
Aby usunąć link do kanału aktualizacji należy posłużyć się funkcją FIXUPDATER_SYSTEM_DELETELINK = "FixUpdater/System/DeleteLink". Wywołujemy ją w podobny sposób jak FIXUPDATER_SYSTEM_ADDLINK wypełniając strukturę PluginHook w ten sposób (kod w C++):
TPluginHook PluginHook;
PluginHook.HookName = FIXUPDATER_SYSTEM_DELETELINK // = L"FixUpdater/System/DeleteLink"
PluginHook.wParam = 0; //Nieużywane
PluginHook.lParam = (wchar_t*)(URL); //Wskaźnik na adres URL kanału do usunięcia
Podany link zostanie natychmiastowo usunięty.
Ważna uwaga: funkcje z SDK wtyczki należy używać po załadowaniu wszystkich wtyczek czyli dopiero po tym jak dostaniemy notyfikację AQQ_SYSTEM_MODULESLOADED! W przeciwnym razie link kanału nie zostanie dodany/usunięty! Wyżej wymienione funkcje wtyczki zwracają 1 w przypadku pomyślnej operacji lub 2 w przypadku błędu (np. adres URL do usunięcia nie znajduje się w bazie wtyczki). Gdy wtyczka będzie wyłączona lub niezainstalowana wówczas zwrot będzie miał wartość 0.