mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-18 03:25:46 -04:00
Initial community commit
This commit is contained in:
71
Src/Plugins/Library/ml_online/Setup/setup.cpp
Normal file
71
Src/Plugins/Library/ml_online/Setup/setup.cpp
Normal file
@ -0,0 +1,71 @@
|
||||
#define GUID_DEFINE
|
||||
#include "../../winamp/setup/svc_setup.h"
|
||||
#undef GUID_DEFINE
|
||||
|
||||
#include "./setupPage.h"
|
||||
|
||||
#include "../api__ml_online.h"
|
||||
|
||||
|
||||
static HRESULT Setup_RegisterPage()
|
||||
{
|
||||
HRESULT hr;
|
||||
svc_setup *setupSvc;
|
||||
SetupPage *page;
|
||||
|
||||
|
||||
if (FAILED(WasabiApi_LoadDefaults()) ||
|
||||
NULL == OMBROWSERMNGR ||
|
||||
NULL == OMSERVICEMNGR ||
|
||||
NULL == OMUTILITY)
|
||||
{
|
||||
return E_UNEXPECTED;
|
||||
}
|
||||
|
||||
setupSvc = QueryWasabiInterface(svc_setup, UID_SVC_SETUP);
|
||||
if (NULL == setupSvc)
|
||||
return E_POINTER;
|
||||
|
||||
page = SetupPage::CreateInstance();
|
||||
if (NULL == page)
|
||||
hr = E_OUTOFMEMORY;
|
||||
else
|
||||
{
|
||||
// try to insert before 'feedback' (if present)
|
||||
// otherwise dump at the end of the pages list.
|
||||
int index = 0xFFFFF;
|
||||
if (FAILED(setupSvc->GetPageCount(&index)))
|
||||
index = 0xFFFFF;
|
||||
else if (index > 0 && index == 3)
|
||||
index--;
|
||||
|
||||
hr = setupSvc->InsertPage(page, &index);
|
||||
if (SUCCEEDED(hr))
|
||||
setupSvc->AddJob((ifc_setupjob*)page);
|
||||
|
||||
page->Release();
|
||||
}
|
||||
|
||||
ReleaseWasabiInterface(UID_SVC_SETUP, setupSvc);
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
EXTERN_C _declspec(dllexport) BOOL RegisterSetup(HINSTANCE hInstance, api_service *waServices)
|
||||
{
|
||||
// check the current date and if past November 30th 2013
|
||||
// then we will prevent the online page from being shown
|
||||
time_t now = time(0);
|
||||
struct tm *tn = localtime(&now);
|
||||
tn->tm_sec = tn->tm_min = tn->tm_hour = 0;
|
||||
|
||||
if (mktime(tn) >= 1387497600)
|
||||
return FALSE;
|
||||
|
||||
if (FAILED(WasabiApi_Initialize(hInstance, waServices)))
|
||||
return FALSE;
|
||||
|
||||
BOOL result = SUCCEEDED(Setup_RegisterPage());
|
||||
WasabiApi_Release();
|
||||
return result;
|
||||
}
|
Reference in New Issue
Block a user