aboutsummaryrefslogtreecommitdiff
path: root/Src/omBrowser/serviceDetails.cpp
blob: b3e46eeb7f98bee34c060a01ab395bf95fba1511 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include "./main.h"
#include "./service.h"

#include <strsafe.h>

HRESULT OmService::GetDescription(LPWSTR pszBuffer, UINT cchBufferMax)
{
	return StringCchCopyExMT(pszBuffer, cchBufferMax, description, NULL, NULL, STRSAFE_IGNORE_NULLS);
}

HRESULT OmService::GetAuthorFirst(LPWSTR pszBuffer, UINT cchBufferMax)
{
	return StringCchCopyExMT(pszBuffer, cchBufferMax, authorFirst, NULL, NULL, STRSAFE_IGNORE_NULLS);
}

HRESULT OmService::GetAuthorLast(LPWSTR pszBuffer, UINT cchBufferMax)
{
	return StringCchCopyExMT(pszBuffer, cchBufferMax, authorLast, NULL, NULL, STRSAFE_IGNORE_NULLS);
}

HRESULT OmService::GetPublished(LPWSTR pszBuffer, UINT cchBufferMax)
{
	if (NULL == pszBuffer) return E_POINTER;

	EnterCriticalSection(&lock);

	LPCWSTR source = (NULL != published && L'\0' != *published) ? published : updated;
	HRESULT hr = StringCchCopyEx(pszBuffer, cchBufferMax, source, NULL, NULL, STRSAFE_IGNORE_NULLS);

	LeaveCriticalSection(&lock);
	return hr;
}

HRESULT OmService::GetUpdated(LPWSTR pszBuffer, UINT cchBufferMax)
{
	if (NULL == pszBuffer) return E_POINTER;

	EnterCriticalSection(&lock);

	LPCWSTR source = (NULL != updated && L'\0' != *updated) ? updated : published;
	HRESULT hr = StringCchCopyEx(pszBuffer, cchBufferMax, source, NULL, NULL, STRSAFE_IGNORE_NULLS);

	LeaveCriticalSection(&lock);
	return hr;
}

HRESULT OmService::GetThumbnail(LPWSTR pszBuffer, UINT cchBufferMax)
{
	return StringCchCopyExMT(pszBuffer, cchBufferMax, thumbnail, NULL, NULL, STRSAFE_IGNORE_NULLS | STRSAFE_NULL_ON_FAILURE);
}

HRESULT OmService::GetScreenshot(LPWSTR pszBuffer, UINT cchBufferMax)
{
	return StringCchCopyExMT(pszBuffer, cchBufferMax, screenshot, NULL, NULL, STRSAFE_IGNORE_NULLS | STRSAFE_NULL_ON_FAILURE);
}