mstask: Implemented NewWorkItem.
[wine] / dlls / mstask / mstask_private.h
1 /*
2  * Copyright (C) 2008 Google (Roy Shea)
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 #ifndef __MSTASK_PRIVATE_H__
20 #define __MSTASK_PRIVATE_H__
21
22 #include <stdarg.h>
23
24 #define COBJMACROS
25
26 #include "windef.h"
27 #include "winbase.h"
28 #include "winuser.h"
29 #include "ole2.h"
30 #include "mstask.h"
31
32 extern LONG dll_ref;
33
34 typedef struct
35 {
36     const IClassFactoryVtbl *lpVtbl;
37     LONG ref;
38 } ClassFactoryImpl;
39 extern ClassFactoryImpl MSTASK_ClassFactory;
40
41 typedef struct
42 {
43     const ITaskSchedulerVtbl *lpVtbl;
44     LONG ref;
45 } TaskSchedulerImpl;
46 extern HRESULT TaskSchedulerConstructor(LPVOID *ppObj);
47
48 typedef struct
49 {
50     const ITaskVtbl *lpVtbl;
51     const IPersistFileVtbl *persistVtbl;
52     LONG ref;
53     LPWSTR taskName;
54 } TaskImpl;
55 extern HRESULT TaskConstructor(LPCWSTR pwszTaskName, LPVOID *ppObj);
56
57 #endif /* __MSTASK_PRIVATE_H__ */