[PATCH 04/10] taskschd: Implement ITaskSettings_put_StopIfGoingOnBatteries.

Hans Leidekker hans at codeweavers.com
Wed Nov 22 08:08:33 CST 2017


Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
 dlls/taskschd/task.c            | 18 ++++++++++++++----
 dlls/taskschd/tests/scheduler.c | 12 ++++++------
 2 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/dlls/taskschd/task.c b/dlls/taskschd/task.c
index 683a20c114..e417c05382 100644
--- a/dlls/taskschd/task.c
+++ b/dlls/taskschd/task.c
@@ -975,8 +975,13 @@ static HRESULT WINAPI TaskSettings_get_MultipleInstances(ITaskSettings *iface, T
 
 static HRESULT WINAPI TaskSettings_put_MultipleInstances(ITaskSettings *iface, TASK_INSTANCES_POLICY policy)
 {
-    FIXME("%p,%d: stub\n", iface, policy);
-    return E_NOTIMPL;
+    TaskSettings *taskset = impl_from_ITaskSettings(iface);
+
+    TRACE("%p,%d\n", iface, policy);
+
+    taskset->policy = policy;
+
+    return S_OK;
 }
 
 static HRESULT WINAPI TaskSettings_get_StopIfGoingOnBatteries(ITaskSettings *iface, VARIANT_BOOL *stop)
@@ -994,8 +999,13 @@ static HRESULT WINAPI TaskSettings_get_StopIfGoingOnBatteries(ITaskSettings *ifa
 
 static HRESULT WINAPI TaskSettings_put_StopIfGoingOnBatteries(ITaskSettings *iface, VARIANT_BOOL stop)
 {
-    FIXME("%p,%d: stub\n", iface, stop);
-    return E_NOTIMPL;
+    TaskSettings *taskset = impl_from_ITaskSettings(iface);
+
+    TRACE("%p,%d\n", iface, stop);
+
+    taskset->stop_if_going_on_batteries = stop ? TRUE : FALSE;
+
+    return S_OK;
 }
 
 static HRESULT WINAPI TaskSettings_get_DisallowStartIfOnBatteries(ITaskSettings *iface, VARIANT_BOOL *disallow)
diff --git a/dlls/taskschd/tests/scheduler.c b/dlls/taskschd/tests/scheduler.c
index eac17340cd..e2f85b1b73 100644
--- a/dlls/taskschd/tests/scheduler.c
+++ b/dlls/taskschd/tests/scheduler.c
@@ -1108,6 +1108,12 @@ static void change_settings(ITaskDefinition *taskdef, struct settings *test)
     ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
 
     hr = ITaskSettings_put_MultipleInstances(set, test->policy);
+    ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
+
+    hr = ITaskSettings_put_StopIfGoingOnBatteries(set, test->stop_if_going_on_batteries);
+    ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
+
+    hr = ITaskSettings_put_DisallowStartIfOnBatteries(set, test->disallow_start_if_on_batteries);
 todo_wine
     ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
     /* FIXME: Remove once implemented */
@@ -1117,12 +1123,6 @@ todo_wine
         return;
     }
 
-    hr = ITaskSettings_put_StopIfGoingOnBatteries(set, test->stop_if_going_on_batteries);
-    ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
-
-    hr = ITaskSettings_put_DisallowStartIfOnBatteries(set, test->disallow_start_if_on_batteries);
-    ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
-
     hr = ITaskSettings_put_AllowHardTerminate(set, test->allow_hard_terminate);
     ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
 
-- 
2.11.0




More information about the wine-devel mailing list