3 * Copyright (C) 2002 ReactOS Team
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 * COPYRIGHT: See COPYING in the top level directory
21 * PROJECT: ReactOS text-mode setup
22 * FILE: subsys/system/usetup/filequeue.h
23 * PURPOSE: File queue functions
24 * PROGRAMMER: Eric Kohl
29 #define SPFILENOTIFY_STARTQUEUE 0x1
30 #define SPFILENOTIFY_ENDQUEUE 0x2
31 #define SPFILENOTIFY_STARTSUBQUEUE 0x3
32 #define SPFILENOTIFY_ENDSUBQUEUE 0x4
34 #define SPFILENOTIFY_STARTCOPY 0xb
35 #define SPFILENOTIFY_ENDCOPY 0xc
36 #define SPFILENOTIFY_COPYERROR 0xd
38 #define FILEOP_COPY 0x0
39 #define FILEOP_RENAME 0x1
40 #define FILEOP_DELETE 0x2
41 #define FILEOP_BACKUP 0x3
43 #define FILEOP_ABORT 0x0
44 #define FILEOP_DOIT 0x1
45 #define FILEOP_SKIP 0x2
46 #define FILEOP_RETRY FILEOP_DOIT
47 #define FILEOP_NEWPATH 0x4
50 /* TYPES ********************************************************************/
52 typedef PVOID HSPFILEQ
;
54 typedef UINT (CALLBACK
* PSP_FILE_CALLBACK_W
)(PVOID Context
,
59 typedef struct _COPYCONTEXT
61 LPCWSTR DestinationRootPath
; /* Not owned by this structure */
62 LPCWSTR InstallPath
; /* Not owned by this structure */
63 ULONG TotalOperations
;
64 ULONG CompletedOperations
;
65 PPROGRESSBAR ProgressBar
;
66 PPROGRESSBAR MemoryBars
[4];
67 } COPYCONTEXT
, *PCOPYCONTEXT
;
69 /* FUNCTIONS ****************************************************************/
72 SetupOpenFileQueue(VOID
);
76 IN HSPFILEQ QueueHandle
);
80 IN HSPFILEQ QueueHandle
,
81 IN PCWSTR SourceRootPath
,
83 IN PCWSTR SourceFileName
,
84 IN PCWSTR SourceDescription
,
85 IN PCWSTR SourceTagFile
,
86 IN PCWSTR TargetDirectory
,
87 IN PCWSTR TargetFileName
,
91 SetupQueueCopy(HSPFILEQ QueueHandle
,
93 PCWSTR SourceRootPath
,
95 PCWSTR SourceFilename
,
96 PCWSTR TargetDirectory
,
97 PCWSTR TargetFilename
);
100 SetupCommitFileQueueW(HWND Owner
,
101 HSPFILEQ QueueHandle
,
102 PSP_FILE_CALLBACK_W MsgHandler
,