Hans Leidekker : taskschd: Implement ITaskDefinition_put_Actions.
Alexandre Julliard
julliard at winehq.org
Thu Nov 30 14:19:34 CST 2017
Module: wine
Branch: master
Commit: 759ef6a4fa8be8b9696552d5b89cf46f0f3950ad
URL: http://source.winehq.org/git/wine.git/?a=commit;h=759ef6a4fa8be8b9696552d5b89cf46f0f3950ad
Author: Hans Leidekker <hans at codeweavers.com>
Date: Thu Nov 30 09:37:08 2017 +0100
taskschd: Implement ITaskDefinition_put_Actions.
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/taskschd/task.c | 15 +++++++++++++--
dlls/taskschd/tests/scheduler.c | 10 ++++++++++
2 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/dlls/taskschd/task.c b/dlls/taskschd/task.c
index 166e587..1c20f83 100644
--- a/dlls/taskschd/task.c
+++ b/dlls/taskschd/task.c
@@ -2093,8 +2093,19 @@ static HRESULT WINAPI TaskDefinition_get_Actions(ITaskDefinition *iface, IAction
static HRESULT WINAPI TaskDefinition_put_Actions(ITaskDefinition *iface, IActionCollection *actions)
{
- FIXME("%p,%p: stub\n", iface, actions);
- return E_NOTIMPL;
+ TaskDefinition *taskdef = impl_from_ITaskDefinition(iface);
+
+ TRACE("%p,%p\n", iface, actions);
+
+ if (!actions) return E_POINTER;
+
+ if (taskdef->actions)
+ IActionCollection_Release(taskdef->actions);
+
+ IActionCollection_AddRef(actions);
+ taskdef->actions = actions;
+
+ return S_OK;
}
static const WCHAR Task[] = {'T','a','s','k',0};
diff --git a/dlls/taskschd/tests/scheduler.c b/dlls/taskschd/tests/scheduler.c
index 3d1d18e..1df79d5 100644
--- a/dlls/taskschd/tests/scheduler.c
+++ b/dlls/taskschd/tests/scheduler.c
@@ -1096,6 +1096,7 @@ static void change_settings(ITaskDefinition *taskdef, struct settings *test)
ITaskSettings *set;
ITriggerCollection *triggers;
IPrincipal *principal;
+ IActionCollection *actions;
hr = ITaskDefinition_get_Settings(taskdef, &set);
ok(hr == S_OK, "get_Settings error %#x\n", hr);
@@ -1178,6 +1179,15 @@ static void change_settings(ITaskDefinition *taskdef, struct settings *test)
ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
if (principal) IPrincipal_Release(principal);
+ actions = NULL;
+ hr = ITaskDefinition_get_Actions(taskdef, &actions);
+ ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
+ ok(actions != NULL, "actions not set\n");
+
+ hr = ITaskDefinition_put_Actions(taskdef, actions);
+ ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
+ if (actions) IActionCollection_Release(actions);
+
/* FIXME: set IIdleSettings and INetworkSettings */
ITaskSettings_Release(set);
More information about the wine-cvs
mailing list