Hans Leidekker : taskschd: Implement ITaskDefinition_put_Principal.
Alexandre Julliard
julliard at winehq.org
Thu Nov 30 14:19:34 CST 2017
Module: wine
Branch: master
Commit: acacbbcb86515127cd8d15b2dc8d767c3d846359
URL: http://source.winehq.org/git/wine.git/?a=commit;h=acacbbcb86515127cd8d15b2dc8d767c3d846359
Author: Hans Leidekker <hans at codeweavers.com>
Date: Thu Nov 30 09:37:06 2017 +0100
taskschd: Implement ITaskDefinition_put_Principal.
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 | 3 +++
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/dlls/taskschd/task.c b/dlls/taskschd/task.c
index 185f5c2..6828c98 100644
--- a/dlls/taskschd/task.c
+++ b/dlls/taskschd/task.c
@@ -1879,8 +1879,19 @@ static HRESULT WINAPI TaskDefinition_get_Principal(ITaskDefinition *iface, IPrin
static HRESULT WINAPI TaskDefinition_put_Principal(ITaskDefinition *iface, IPrincipal *principal)
{
- FIXME("%p,%p: stub\n", iface, principal);
- return E_NOTIMPL;
+ TaskDefinition *taskdef = impl_from_ITaskDefinition(iface);
+
+ TRACE("%p,%p\n", iface, principal);
+
+ if (!principal) return E_POINTER;
+
+ if (taskdef->principal)
+ IPrincipal_Release(taskdef->principal);
+
+ IPrincipal_AddRef(principal);
+ taskdef->principal = principal;
+
+ return S_OK;
}
static HRESULT WINAPI TaskDefinition_get_Actions(ITaskDefinition *iface, IActionCollection **actions)
diff --git a/dlls/taskschd/tests/scheduler.c b/dlls/taskschd/tests/scheduler.c
index ad07556..244c28d 100644
--- a/dlls/taskschd/tests/scheduler.c
+++ b/dlls/taskschd/tests/scheduler.c
@@ -1173,6 +1173,9 @@ static void change_settings(ITaskDefinition *taskdef, struct settings *test)
hr = ITaskDefinition_get_Principal(taskdef, &principal);
ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
ok(principal != NULL, "principal not set\n");
+
+ hr = ITaskDefinition_put_Principal(taskdef, principal);
+ ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
if (principal) IPrincipal_Release(principal);
/* FIXME: set IIdleSettings and INetworkSettings */
More information about the wine-cvs
mailing list