#include "main.h" #include "./forceUrl.h" ForceUrl::ForceUrl() : id((UINT)-1), url(NULL) { } ForceUrl::~ForceUrl() { Plugin_FreeString(url); } HRESULT ForceUrl::Set(UINT serviceId, LPCWSTR pszUrl) { Plugin_FreeString(url); id = serviceId; url = Plugin_CopyString(pszUrl); return S_OK; } HRESULT ForceUrl::Peek(UINT serviceId, LPWSTR *pszUrl) { if (NULL == pszUrl) return E_POINTER; if (serviceId == id && NULL != url) { *pszUrl = url; url = NULL; id = ((UINT)-1); return S_OK; } return S_FALSE; } HRESULT ForceUrl::Remove(UINT serviceId) { if (id == serviceId) { Plugin_FreeString(url); url = NULL; id = ((UINT)-1); return S_OK; } return S_FALSE; } void ForceUrl::FreeString(LPWSTR pszValue) { Plugin_FreeString(pszValue); }