Hans Leidekker : taskschd: Implement ITaskSettings_put_DeleteExpiredTaskAfter.

Alexandre Julliard julliard at winehq.org
Wed Nov 29 15:12:31 CST 2017


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

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Wed Nov 29 10:05:30 2017 +0100

taskschd: Implement ITaskSettings_put_DeleteExpiredTaskAfter.

Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/taskschd/task.c            | 10 +++++++++-
 dlls/taskschd/tests/scheduler.c |  6 +++---
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/dlls/taskschd/task.c b/dlls/taskschd/task.c
index 7c5dca3..894f4c4 100644
--- a/dlls/taskschd/task.c
+++ b/dlls/taskschd/task.c
@@ -1196,8 +1196,16 @@ static HRESULT WINAPI TaskSettings_get_DeleteExpiredTaskAfter(ITaskSettings *ifa
 
 static HRESULT WINAPI TaskSettings_put_DeleteExpiredTaskAfter(ITaskSettings *iface, BSTR delay)
 {
+    TaskSettings *taskset = impl_from_ITaskSettings(iface);
+    WCHAR *str = NULL;
+
     TRACE("%p,%s\n", iface, debugstr_w(delay));
-    return E_NOTIMPL;
+
+    if (delay && !(str = heap_strdupW(delay))) return E_OUTOFMEMORY;
+    heap_free(taskset->delete_expired_task_after);
+    taskset->delete_expired_task_after = str;
+
+    return S_OK;
 }
 
 static HRESULT WINAPI TaskSettings_get_Priority(ITaskSettings *iface, INT *priority)
diff --git a/dlls/taskschd/tests/scheduler.c b/dlls/taskschd/tests/scheduler.c
index fe54bff..f15e214 100644
--- a/dlls/taskschd/tests/scheduler.c
+++ b/dlls/taskschd/tests/scheduler.c
@@ -1138,6 +1138,9 @@ static void change_settings(ITaskDefinition *taskdef, struct settings *test)
         hr = ITaskSettings_put_DeleteExpiredTaskAfter(set, NULL);
     else
         hr = ITaskSettings_put_DeleteExpiredTaskAfter(set, test->delete_expired_task_after);
+    ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
+
+    hr = ITaskSettings_put_Priority(set, test->priority);
 todo_wine
     ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
     /* FIXME: Remove once implemented */
@@ -1147,9 +1150,6 @@ todo_wine
         return;
     }
 
-    hr = ITaskSettings_put_Priority(set, test->priority);
-    ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
-
     hr = ITaskSettings_put_Compatibility(set, test->compatibility);
     ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
 




More information about the wine-cvs mailing list