Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
553352f0
Commit
553352f0
authored
Jan 28, 2014
by
Dmitry Timoshkov
Committed by
Alexandre Julliard
Jan 28, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
taskschd: Add ITaskFolderCollection stub implementation.
parent
e654be2a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
167 additions
and
2 deletions
+167
-2
Makefile.in
dlls/taskschd/Makefile.in
+1
-0
folder.c
dlls/taskschd/folder.c
+8
-2
folder_collection.c
dlls/taskschd/folder_collection.c
+157
-0
taskschd_private.h
dlls/taskschd/taskschd_private.h
+1
-0
No files found.
dlls/taskschd/Makefile.in
View file @
553352f0
...
...
@@ -3,6 +3,7 @@ IMPORTS = advapi32 oleaut32
C_SRCS
=
\
folder.c
\
folder_collection.c
\
task.c
\
taskschd.c
...
...
dlls/taskschd/folder.c
View file @
553352f0
...
...
@@ -232,8 +232,14 @@ static HRESULT WINAPI TaskFolder_GetFolder(ITaskFolder *iface, BSTR path, ITaskF
static
HRESULT
WINAPI
TaskFolder_GetFolders
(
ITaskFolder
*
iface
,
LONG
flags
,
ITaskFolderCollection
**
folders
)
{
FIXME
(
"%p,%x,%p: stub
\n
"
,
iface
,
flags
,
folders
);
return
E_NOTIMPL
;
TaskFolder
*
folder
=
impl_from_ITaskFolder
(
iface
);
TRACE
(
"%p,%x,%p: stub
\n
"
,
iface
,
flags
,
folders
);
if
(
flags
)
FIXME
(
"unsupported flags %x
\n
"
,
flags
);
return
TaskFolderCollection_create
(
folder
->
path
,
folders
);
}
static
inline
BOOL
is_variant_null
(
const
VARIANT
*
var
)
...
...
dlls/taskschd/folder_collection.c
0 → 100644
View file @
553352f0
/*
* Copyright 2014 Dmitry Timoshkov
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <stdarg.h>
#define COBJMACROS
#include "windef.h"
#include "winbase.h"
#include "objbase.h"
#include "taskschd.h"
#include "taskschd_private.h"
#include "wine/unicode.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
taskschd
);
typedef
struct
{
ITaskFolderCollection
ITaskFolderCollection_iface
;
LONG
ref
;
}
TaskFolderCollection
;
static
inline
TaskFolderCollection
*
impl_from_ITaskFolderCollection
(
ITaskFolderCollection
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
TaskFolderCollection
,
ITaskFolderCollection_iface
);
}
static
ULONG
WINAPI
folders_AddRef
(
ITaskFolderCollection
*
iface
)
{
TaskFolderCollection
*
folders
=
impl_from_ITaskFolderCollection
(
iface
);
return
InterlockedIncrement
(
&
folders
->
ref
);
}
static
ULONG
WINAPI
folders_Release
(
ITaskFolderCollection
*
iface
)
{
TaskFolderCollection
*
folders
=
impl_from_ITaskFolderCollection
(
iface
);
LONG
ref
=
InterlockedDecrement
(
&
folders
->
ref
);
if
(
!
ref
)
{
TRACE
(
"destroying %p
\n
"
,
iface
);
HeapFree
(
GetProcessHeap
(),
0
,
folders
);
}
return
ref
;
}
static
HRESULT
WINAPI
folders_QueryInterface
(
ITaskFolderCollection
*
iface
,
REFIID
riid
,
void
**
obj
)
{
if
(
!
riid
||
!
obj
)
return
E_INVALIDARG
;
TRACE
(
"%p,%s,%p
\n
"
,
iface
,
debugstr_guid
(
riid
),
obj
);
if
(
IsEqualGUID
(
riid
,
&
IID_ITaskFolderCollection
)
||
IsEqualGUID
(
riid
,
&
IID_IDispatch
)
||
IsEqualGUID
(
riid
,
&
IID_IUnknown
))
{
ITaskFolderCollection_AddRef
(
iface
);
*
obj
=
iface
;
return
S_OK
;
}
FIXME
(
"interface %s is not implemented
\n
"
,
debugstr_guid
(
riid
));
return
E_NOINTERFACE
;
}
static
HRESULT
WINAPI
folders_GetTypeInfoCount
(
ITaskFolderCollection
*
iface
,
UINT
*
count
)
{
FIXME
(
"%p,%p: stub
\n
"
,
iface
,
count
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
folders_GetTypeInfo
(
ITaskFolderCollection
*
iface
,
UINT
index
,
LCID
lcid
,
ITypeInfo
**
info
)
{
FIXME
(
"%p,%u,%u,%p: stub
\n
"
,
iface
,
index
,
lcid
,
info
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
folders_GetIDsOfNames
(
ITaskFolderCollection
*
iface
,
REFIID
riid
,
LPOLESTR
*
names
,
UINT
count
,
LCID
lcid
,
DISPID
*
dispid
)
{
FIXME
(
"%p,%s,%p,%u,%u,%p: stub
\n
"
,
iface
,
debugstr_guid
(
riid
),
names
,
count
,
lcid
,
dispid
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
folders_Invoke
(
ITaskFolderCollection
*
iface
,
DISPID
dispid
,
REFIID
riid
,
LCID
lcid
,
WORD
flags
,
DISPPARAMS
*
params
,
VARIANT
*
result
,
EXCEPINFO
*
excepinfo
,
UINT
*
argerr
)
{
FIXME
(
"%p,%d,%s,%04x,%04x,%p,%p,%p,%p: stub
\n
"
,
iface
,
dispid
,
debugstr_guid
(
riid
),
lcid
,
flags
,
params
,
result
,
excepinfo
,
argerr
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
folders_get_Count
(
ITaskFolderCollection
*
iface
,
LONG
*
count
)
{
FIXME
(
"%p,%p: stub
\n
"
,
iface
,
count
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
folders_get_Item
(
ITaskFolderCollection
*
iface
,
VARIANT
index
,
ITaskFolder
**
folder
)
{
FIXME
(
"%p,%s,%p: stub
\n
"
,
iface
,
debugstr_variant
(
&
index
),
folder
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
folders_get__NewEnum
(
ITaskFolderCollection
*
iface
,
IUnknown
**
penum
)
{
FIXME
(
"%p,%p: stub
\n
"
,
iface
,
penum
);
return
E_NOTIMPL
;
}
static
const
ITaskFolderCollectionVtbl
TaskFolderCollection_vtbl
=
{
folders_QueryInterface
,
folders_AddRef
,
folders_Release
,
folders_GetTypeInfoCount
,
folders_GetTypeInfo
,
folders_GetIDsOfNames
,
folders_Invoke
,
folders_get_Count
,
folders_get_Item
,
folders_get__NewEnum
};
HRESULT
TaskFolderCollection_create
(
const
WCHAR
*
path
,
ITaskFolderCollection
**
obj
)
{
TaskFolderCollection
*
folders
;
folders
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
*
folders
));
if
(
!
folders
)
return
E_OUTOFMEMORY
;
folders
->
ITaskFolderCollection_iface
.
lpVtbl
=
&
TaskFolderCollection_vtbl
;
folders
->
ref
=
1
;
*
obj
=
&
folders
->
ITaskFolderCollection_iface
;
TRACE
(
"created %p
\n
"
,
*
obj
);
return
S_OK
;
}
dlls/taskschd/taskschd_private.h
View file @
553352f0
...
...
@@ -18,5 +18,6 @@
HRESULT
TaskService_create
(
void
**
obj
)
DECLSPEC_HIDDEN
;
HRESULT
TaskFolder_create
(
const
WCHAR
*
parent
,
const
WCHAR
*
path
,
ITaskFolder
**
obj
,
BOOL
create
)
DECLSPEC_HIDDEN
;
HRESULT
TaskFolderCollection_create
(
const
WCHAR
*
path
,
ITaskFolderCollection
**
obj
)
DECLSPEC_HIDDEN
;
const
char
*
debugstr_variant
(
const
VARIANT
*
v
)
DECLSPEC_HIDDEN
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment