X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=base%2Fsetup%2Fusetup%2Ffilequeue.h;h=cf608377e1a945abc75f694ccb155ff965f40296;hp=17ebe04fe0e559438455172a5c61b830ca2943fa;hb=44c101c9dcec40e8c87b96391501de59a53c4565;hpb=9919d4fa10282fdba6bcb4816c7e893d73c449c7 diff --git a/base/setup/usetup/filequeue.h b/base/setup/usetup/filequeue.h index 17ebe04fe0e..cf608377e1a 100644 --- a/base/setup/usetup/filequeue.h +++ b/base/setup/usetup/filequeue.h @@ -19,53 +19,63 @@ /* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS text-mode setup - * FILE: subsys/system/usetup/filequeue.h + * FILE: base/setup/usetup/filequeue.h * PURPOSE: File queue functions - * PROGRAMMER: Eric Kohl + * PROGRAMMER: */ #pragma once -#define SPFILENOTIFY_STARTQUEUE 0x1 -#define SPFILENOTIFY_ENDQUEUE 0x2 -#define SPFILENOTIFY_STARTSUBQUEUE 0x3 -#define SPFILENOTIFY_ENDSUBQUEUE 0x4 +#define SPFILENOTIFY_STARTQUEUE 0x00000001 +#define SPFILENOTIFY_ENDQUEUE 0x00000002 +#define SPFILENOTIFY_STARTSUBQUEUE 0x00000003 +#define SPFILENOTIFY_ENDSUBQUEUE 0x00000004 -#define SPFILENOTIFY_STARTCOPY 0xb -#define SPFILENOTIFY_ENDCOPY 0xc -#define SPFILENOTIFY_COPYERROR 0xd +#define SPFILENOTIFY_STARTDELETE 0x00000005 +#define SPFILENOTIFY_ENDDELETE 0x00000006 +#define SPFILENOTIFY_DELETEERROR 0x00000007 -#define FILEOP_COPY 0x0 -#define FILEOP_RENAME 0x1 -#define FILEOP_DELETE 0x2 -#define FILEOP_BACKUP 0x3 +#define SPFILENOTIFY_STARTRENAME 0x00000008 +#define SPFILENOTIFY_ENDRENAME 0x00000009 +#define SPFILENOTIFY_RENAMEERROR 0x0000000a -#define FILEOP_ABORT 0x0 -#define FILEOP_DOIT 0x1 -#define FILEOP_SKIP 0x2 -#define FILEOP_RETRY FILEOP_DOIT -#define FILEOP_NEWPATH 0x4 +#define SPFILENOTIFY_STARTCOPY 0x0000000b +#define SPFILENOTIFY_ENDCOPY 0x0000000c +#define SPFILENOTIFY_COPYERROR 0x0000000d + +#define SPFILENOTIFY_NEEDMEDIA 0x0000000e +#define SPFILENOTIFY_QUEUESCAN 0x0000000f + +#define FILEOP_COPY 0 +#define FILEOP_RENAME 1 +#define FILEOP_DELETE 2 +#define FILEOP_BACKUP 3 + +#define FILEOP_ABORT 0 +#define FILEOP_DOIT 1 +#define FILEOP_SKIP 2 +#define FILEOP_RETRY FILEOP_DOIT +#define FILEOP_NEWPATH 4 /* TYPES ********************************************************************/ typedef PVOID HSPFILEQ; +typedef struct _FILEPATHS_W +{ + PCWSTR Target; + PCWSTR Source; + UINT Win32Error; + ULONG Flags; +} FILEPATHS_W, *PFILEPATHS_W; + typedef UINT (CALLBACK* PSP_FILE_CALLBACK_W)( - PVOID Context, - UINT Notification, - UINT_PTR Param1, - UINT_PTR Param2); + IN PVOID Context, + IN UINT Notification, + IN UINT_PTR Param1, + IN UINT_PTR Param2); -typedef struct _COPYCONTEXT -{ - LPCWSTR DestinationRootPath; /* Not owned by this structure */ - LPCWSTR InstallPath; /* Not owned by this structure */ - ULONG TotalOperations; - ULONG CompletedOperations; - PPROGRESSBAR ProgressBar; - PPROGRESSBAR MemoryBars[4]; -} COPYCONTEXT, *PCOPYCONTEXT; /* FUNCTIONS ****************************************************************/ @@ -78,6 +88,7 @@ WINAPI SetupCloseFileQueue( IN HSPFILEQ QueueHandle); +#if 0 // This is the API that is declared in setupapi.h and exported by setupapi.dll BOOL WINAPI SetupQueueCopyWNew( @@ -90,23 +101,42 @@ SetupQueueCopyWNew( IN PCWSTR TargetDirectory, IN PCWSTR TargetFileName, IN DWORD CopyStyle); +#endif +/* A simplified version of SetupQueueCopyW that wraps Cabinet support around */ BOOL -SetupQueueCopy( - HSPFILEQ QueueHandle, - PCWSTR SourceCabinet, - PCWSTR SourceRootPath, - PCWSTR SourcePath, - PCWSTR SourceFilename, - PCWSTR TargetDirectory, - PCWSTR TargetFilename); +WINAPI +SetupQueueCopyWithCab( // SetupQueueCopyW + IN HSPFILEQ QueueHandle, + IN PCWSTR SourceCabinet OPTIONAL, + IN PCWSTR SourceRootPath, + IN PCWSTR SourcePath OPTIONAL, + IN PCWSTR SourceFileName, + IN PCWSTR TargetDirectory, + IN PCWSTR TargetFileName OPTIONAL); + +BOOL +WINAPI +SetupQueueDeleteW( + IN HSPFILEQ QueueHandle, + IN PCWSTR PathPart1, + IN PCWSTR PathPart2 OPTIONAL); + +BOOL +WINAPI +SetupQueueRenameW( + IN HSPFILEQ QueueHandle, + IN PCWSTR SourcePath, + IN PCWSTR SourceFileName OPTIONAL, + IN PCWSTR TargetPath OPTIONAL, + IN PCWSTR TargetFileName); BOOL WINAPI SetupCommitFileQueueW( - HWND Owner, - HSPFILEQ QueueHandle, - PSP_FILE_CALLBACK_W MsgHandler, - PVOID Context); + IN HWND Owner, + IN HSPFILEQ QueueHandle, + IN PSP_FILE_CALLBACK_W MsgHandler, + IN PVOID Context OPTIONAL); /* EOF */