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: base/setup/usetup/filequeue.h
23 * PURPOSE: File queue functions
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
)(
60 typedef struct _COPYCONTEXT
62 LPCWSTR DestinationRootPath
; /* Not owned by this structure */
63 LPCWSTR InstallPath
; /* Not owned by this structure */
64 ULONG TotalOperations
;
65 ULONG CompletedOperations
;
66 PPROGRESSBAR ProgressBar
;
67 PPROGRESSBAR MemoryBars
[4];
68 } COPYCONTEXT
, *PCOPYCONTEXT
;
70 /* FUNCTIONS ****************************************************************/
74 SetupOpenFileQueue(VOID
);
79 IN HSPFILEQ QueueHandle
);
84 IN HSPFILEQ QueueHandle
,
85 IN PCWSTR SourceRootPath
,
87 IN PCWSTR SourceFileName
,
88 IN PCWSTR SourceDescription
,
89 IN PCWSTR SourceTagFile
,
90 IN PCWSTR TargetDirectory
,
91 IN PCWSTR TargetFileName
,
98 PCWSTR SourceRootPath
,
100 PCWSTR SourceFilename
,
101 PCWSTR TargetDirectory
,
102 PCWSTR TargetFilename
);
106 SetupCommitFileQueueW(
108 HSPFILEQ QueueHandle
,
109 PSP_FILE_CALLBACK_W MsgHandler
,