Hans Leidekker : taskschd: Implement ITaskDefinition_put_Principal.
Module: wine Branch: master Commit: acacbbcb86515127cd8d15b2dc8d767c3d846359 URL: http://source.winehq.org/git/wine.git/?a=commit;h=acacbbcb86515127cd8d15b2dc... Author: Hans Leidekker <hans(a)codeweavers.com> Date: Thu Nov 30 09:37:06 2017 +0100 taskschd: Implement ITaskDefinition_put_Principal. Signed-off-by: Hans Leidekker <hans(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)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 */
participants (1)
-
Alexandre Julliard