Roy Shea : mstask: Implemented (Set|Get)MaxRunTime.

Alexandre Julliard julliard at winehq.org
Fri Aug 22 04:44:00 CDT 2008


Module: wine
Branch: master
Commit: a597d9eaed00489ba44cfb0ab339e7b60bd230ba
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=a597d9eaed00489ba44cfb0ab339e7b60bd230ba

Author: Roy Shea <royshea at 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;




More information about the wine-cvs mailing list