Module: wine Branch: master Commit: a597d9eaed00489ba44cfb0ab339e7b60bd230ba URL: http://source.winehq.org/git/wine.git/?a=commit;h=a597d9eaed00489ba44cfb0ab3...
Author: Roy Shea royshea@gmail.com Date: Thu Aug 21 13:06:19 2008 -0700
mstask: Implemented (Set|Get)MaxRunTime.
---
dlls/mstask/mstask_private.h | 1 + dlls/mstask/task.c | 19 +++++++++++++++---- dlls/mstask/tests/task.c | 28 ++++++++++++++-------------- 3 files changed, 30 insertions(+), 18 deletions(-)
diff --git a/dlls/mstask/mstask_private.h b/dlls/mstask/mstask_private.h index 05e7b0c..998bb71 100644 --- a/dlls/mstask/mstask_private.h +++ b/dlls/mstask/mstask_private.h @@ -61,6 +61,7 @@ typedef struct LPWSTR applicationName; LPWSTR parameters; LPWSTR comment; + DWORD maxRunTime; } TaskImpl; extern HRESULT TaskConstructor(LPCWSTR pwszTaskName, LPVOID *ppObj);
diff --git a/dlls/mstask/task.c b/dlls/mstask/task.c index 149869a..707b943 100644 --- a/dlls/mstask/task.c +++ b/dlls/mstask/task.c @@ -540,16 +540,24 @@ static HRESULT WINAPI MSTASK_ITask_SetMaxRunTime( ITask* iface, DWORD dwMaxRunTime) { - FIXME("(%p, %d): stub\n", iface, dwMaxRunTime); - return E_NOTIMPL; + TaskImpl *This = (TaskImpl *)iface; + + TRACE("(%p, %d)\n", iface, dwMaxRunTime); + + This->maxRunTime = dwMaxRunTime; + return S_OK; }
static HRESULT WINAPI MSTASK_ITask_GetMaxRunTime( ITask* iface, DWORD *pdwMaxRunTime) { - FIXME("(%p, %p): stub\n", iface, pdwMaxRunTime); - return E_NOTIMPL; + TaskImpl *This = (TaskImpl *)iface; + + TRACE("(%p, %p)\n", iface, pdwMaxRunTime); + + *pdwMaxRunTime = This->maxRunTime; + return S_OK; }
static HRESULT WINAPI MSTASK_IPersistFile_QueryInterface( @@ -721,6 +729,9 @@ HRESULT TaskConstructor(LPCWSTR pwszTaskName, LPVOID *ppObj) This->parameters = NULL; This->comment = NULL;
+ /* Default time is 3 days = 259200000 ms */ + This->maxRunTime = 259200000; + *ppObj = &This->lpVtbl; InterlockedIncrement(&dll_ref); return S_OK; diff --git a/dlls/mstask/tests/task.c b/dlls/mstask/tests/task.c index 349b110..8dfa675 100644 --- a/dlls/mstask/tests/task.c +++ b/dlls/mstask/tests/task.c @@ -388,40 +388,40 @@ static void test_SetMaxRunTime_GetMaxRunTime(void) * 3 days * 24 hours * 60 minutes * 60 seconds * 1000 ms = 259200000 */ max_run_time = 0; hres = ITask_GetMaxRunTime(test_task, &max_run_time); - todo_wine ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres); - todo_wine ok(max_run_time == 259200000, "Expected 259200000: %d\n", max_run_time); + ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres); + ok(max_run_time == 259200000, "Expected 259200000: %d\n", max_run_time);
/* Basic set test */ max_run_time = 0; hres = ITask_SetMaxRunTime(test_task, 1234); - todo_wine ok(hres == S_OK, "Failed to set max runtime: 0x%08x\n", hres); + ok(hres == S_OK, "Failed to set max runtime: 0x%08x\n", hres); hres = ITask_GetMaxRunTime(test_task, &max_run_time); - todo_wine ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres); - todo_wine ok(max_run_time == 1234, "Expected 1234: %d\n", max_run_time); + ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres); + ok(max_run_time == 1234, "Expected 1234: %d\n", max_run_time);
/* Verify that time can be set to zero */ max_run_time = 1; hres = ITask_SetMaxRunTime(test_task, 0); - todo_wine ok(hres == S_OK, "Failed to set max runtime: 0x%08x\n", hres); + ok(hres == S_OK, "Failed to set max runtime: 0x%08x\n", hres); hres = ITask_GetMaxRunTime(test_task, &max_run_time); - todo_wine ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres); - todo_wine ok(max_run_time == 0, "Expected 0: %d\n", max_run_time); + ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres); + ok(max_run_time == 0, "Expected 0: %d\n", max_run_time);
/* Check resolution by setting time to one */ max_run_time = 0; hres = ITask_SetMaxRunTime(test_task, 1); - todo_wine ok(hres == S_OK, "Failed to set max runtime: 0x%08x\n", hres); + ok(hres == S_OK, "Failed to set max runtime: 0x%08x\n", hres); hres = ITask_GetMaxRunTime(test_task, &max_run_time); - todo_wine ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres); - todo_wine ok(max_run_time == 1, "Expected 1: %d\n", max_run_time); + ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres); + ok(max_run_time == 1, "Expected 1: %d\n", max_run_time);
/* Verify that time can be set to INFINITE */ max_run_time = 0; hres = ITask_SetMaxRunTime(test_task, INFINITE); - todo_wine ok(hres == S_OK, "Failed to set max runtime: 0x%08x\n", hres); + ok(hres == S_OK, "Failed to set max runtime: 0x%08x\n", hres); hres = ITask_GetMaxRunTime(test_task, &max_run_time); - todo_wine ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres); - todo_wine ok(max_run_time == INFINITE, "Expected INFINITE: %d\n", max_run_time); + ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres); + ok(max_run_time == INFINITE, "Expected INFINITE: %d\n", max_run_time);
cleanup_task(); return;