| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #include "./templateInfo.h"
- #include "./pageInfo.h"
- #include "./common.h"
- LoginTemplateInfo::LoginTemplateInfo()
- : ref(1), title(NULL), message(NULL)
- {
- }
- LoginTemplateInfo::~LoginTemplateInfo()
- {
- LoginBox_FreeString(title);
- LoginBox_FreeString(message);
- }
-
- HRESULT LoginTemplateInfo::CreateInstance(LoginTemplateInfo **instance)
- {
- if (NULL == instance) return E_POINTER;
- *instance = new LoginTemplateInfo();
- if (NULL == *instance) return E_OUTOFMEMORY;
- return S_OK;
- }
- ULONG LoginTemplateInfo::AddRef()
- {
- return InterlockedIncrement((LONG*)&ref);
- }
- ULONG LoginTemplateInfo::Release()
- {
- if (0 == ref)
- return ref;
-
- LONG r = InterlockedDecrement((LONG*)&ref);
- if (0 == r)
- delete(this);
-
- return r;
- }
- HRESULT LoginTemplateInfo::GetType(GUID *templateUid)
- {
- if (NULL == templateUid) return E_INVALIDARG;
- *templateUid = LTUID_INFO;
- return S_OK;
- }
- HRESULT LoginTemplateInfo::SetParameter(LPCWSTR pszKey, LPCWSTR pszValue)
- {
- if (S_OK == LoginBox_IsStrEqInvI(pszKey, L"title"))
- {
- LoginBox_FreeString(title);
- title = LoginBox_CopyString(pszValue);
- }
- else if (S_OK == LoginBox_IsStrEqInvI(pszKey, L"message"))
- {
- LoginBox_FreeString(message);
- message = LoginBox_CopyString(pszValue);
- }
- return S_OK;
- }
- HRESULT LoginTemplateInfo::IsValid()
- {
- return S_OK;
- }
- HRESULT LoginTemplateInfo::IsIdentical(LoginTemplate *test)
- {
- if (NULL == test)
- return E_INVALIDARG;
- GUID typeId;
- if (FAILED(test->GetType(&typeId)) || FALSE == IsEqualGUID(LTUID_INFO, typeId))
- return S_FALSE;
-
- LoginTemplateInfo *testInfo = (LoginTemplateInfo*)test;
- if(S_OK != LoginBox_IsStrEq(title, testInfo->title) ||
- S_OK != LoginBox_IsStrEq(message, testInfo->message))
- {
- return S_FALSE;
- }
- return S_OK;
- }
- HWND LoginTemplateInfo::CreatePage(HWND hLoginbox, HWND hParent)
- {
- HWND hPage = LoginPageInfo::CreatePage(hLoginbox, hParent);
- if (NULL == hPage) return NULL;
-
- if (NULL != title)
- LoginPage_SetTitle(hPage, title);
- if (NULL != message)
- LoginPageInfo_SetMessage(hPage, message);
-
- return hPage;
- }
|