]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/classic/morefile/DirectoryCopy.h
removed outdated Classic files to avoid confusing people
[wxWidgets.git] / src / mac / classic / morefile / DirectoryCopy.h
diff --git a/src/mac/classic/morefile/DirectoryCopy.h b/src/mac/classic/morefile/DirectoryCopy.h
deleted file mode 100644 (file)
index 14637e3..0000000
+++ /dev/null
@@ -1,559 +0,0 @@
-/*
-     File:       DirectoryCopy.h
-     Contains:   A robust, general purpose directory copy routine.
-     Version:    Technology: MoreFiles
-                 Release:    1.5.2
-     Copyright:  © 1992-2001 by Apple Computer, Inc., all rights reserved.
-     Bugs?:      For bug reports, consult the following page on
-                 the World Wide Web:
-                     http://developer.apple.com/bugreporter/
-*/
-
-/*
-    You may incorporate this sample code into your applications without
-    restriction, though the sample code has been provided "AS IS" and the
-    responsibility for its operation is 100% yours.  However, what you are
-    not permitted to do is to redistribute the source as "DSC Sample Code"
-    after having made changes. If you're going to re-distribute the source,
-    we require that you make it clear in the source that the code was
-    descended from Apple Sample Code, but that you've made changes.
-*/
-
-#ifndef __DIRECTORYCOPY__
-#define __DIRECTORYCOPY__
-
-#ifndef __MACTYPES__
-#include <MacTypes.h>
-#endif
-
-#ifndef __FILES__
-#include <Files.h>
-#endif
-
-#include "Optimization.h"
-
-
-#if PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if PRAGMA_IMPORT
-#pragma import on
-#endif
-
-#if PRAGMA_STRUCT_ALIGN
-    #pragma options align=mac68k
-#elif PRAGMA_STRUCT_PACKPUSH
-    #pragma pack(push, 2)
-#elif PRAGMA_STRUCT_PACK
-    #pragma pack(2)
-#endif
-
-/*****************************************************************************/
-
-enum {
-  getNextItemOp                 = 1,    /* couldn't access items in this directory - no access privileges */
-  copyDirCommentOp              = 2,    /* couldn't copy directory's Finder comment */
-  copyDirAccessPrivsOp          = 3,    /* couldn't copy directory's AFP access privileges */
-  copyDirFMAttributesOp         = 4,    /* couldn't copy directory's File Manager attributes */
-  dirCreateOp                   = 5,    /* couldn't create destination directory */
-  fileCopyOp                    = 6     /* couldn't copy file */
-};
-
-
-/*****************************************************************************/
-
-typedef CALLBACK_API( Boolean , CopyErrProcPtr )(OSErr error, short failedOperation, short srcVRefNum, long srcDirID, ConstStr255Param srcName, short dstVRefNum, long dstDirID, ConstStr255Param dstName);
-/*
-    This is the prototype for the CopyErrProc function DirectoryCopy
-    calls if an error condition is detected sometime during the copy.  If
-    CopyErrProc returns false, then DirectoryCopy attempts to continue with
-    the directory copy operation.  If CopyErrProc returns true, then
-    DirectoryCopy stops the directory copy operation.
-
-    error           input:  The error result code that caused CopyErrProc to
-                            be called.
-    failedOperation input:  The operation that returned an error to
-                            DirectoryCopy.
-    srcVRefNum      input:  Source volume specification.
-    srcDirID        input:  Source directory ID.
-    srcName         input:  Source file or directory name, or nil if
-                            srcDirID specifies the directory.
-    dstVRefNum      input:  Destination volume specification.
-    dstDirID        input:  Destination directory ID.
-    dstName         input:  Destination file or directory name, or nil if
-                            dstDirID specifies the directory.
-
-    __________
-    
-    Also see:   FilteredDirectoryCopy, FSpFilteredDirectoryCopy, DirectoryCopy, FSpDirectoryCopy
-*/
-#define CallCopyErrProc(userRoutine, error, failedOperation, srcVRefNum, srcDirID, srcName, dstVRefNum, dstDirID, dstName) \
-    (*(userRoutine))((error), (failedOperation), (srcVRefNum), (srcDirID), (srcName), (dstVRefNum), (dstDirID), (dstName))
-
-/*****************************************************************************/
-
-typedef CALLBACK_API( Boolean , CopyFilterProcPtr )(const CInfoPBRec * cpbPtr);
-/*
-    This is the prototype for the CopyFilterProc function called by
-    FilteredDirectoryCopy and GetLevelSize. If true is returned,
-    the file/folder is included in the copy, otherwise it is excluded.
-    
-    pb  input:  Points to the CInfoPBRec for the item under consideration.
-
-    __________
-    
-    Also see:   FilteredDirectoryCopy, FSpFilteredDirectoryCopy
-*/
-#define CallCopyFilterProc(userRoutine, cpbPtr) \
-    (*(userRoutine))((cpbPtr))
-
-/*****************************************************************************/
-
-EXTERN_API( OSErr )
-FilteredDirectoryCopy(
-  short               srcVRefNum,
-  long                srcDirID,
-  ConstStr255Param    srcName,
-  short               dstVRefNum,
-  long                dstDirID,
-  ConstStr255Param    dstName,
-  ConstStr255Param    copyName,
-  void *              copyBufferPtr,
-  long                copyBufferSize,
-  Boolean             preflight,
-  CopyErrProcPtr      copyErrHandler,
-  CopyFilterProcPtr   copyFilterProc);
-
-
-/*
-    The FilteredDirectoryCopy function makes a copy of a directory
-    structure in a new location. If copyBufferPtr <> NIL, it points to
-    a buffer of copyBufferSize that is used to copy files data. The
-    larger the supplied buffer, the faster the copy. If
-    copyBufferPtr = NIL, then this routine allocates a buffer in the
-    application heap. If you pass a copy buffer to this routine, make
-    its size a multiple of 512 ($200) bytes for optimum performance.
-    
-    The optional copyFilterProc parameter lets a routine you define
-    decide what files or directories are copied to the destination.
-    
-    FilteredDirectoryCopy normally creates a new directory *in* the
-    specified destination directory and copies the source directory's
-    content into the new directory. However, if root parent directory
-    (fsRtParID) is passed as the dstDirID parameter and NULL is
-    passed as the dstName parameter, DirectoryCopy renames the
-    destination volume to the source directory's name (truncating
-    if the name is longer than 27 characters) and copies the source
-    directory's content into the destination volume's root directory.
-    This special case is supported by FilteredDirectoryCopy, but
-    not by FSpFilteredDirectoryCopy since with FSpFilteredDirectoryCopy,
-    the dstName parameter can not be NULL.
-    
-    srcVRefNum      input:  Source volume specification.
-    srcDirID        input:  Source directory ID.
-    srcName         input:  Source directory name, or nil if
-                            srcDirID specifies the directory.
-    dstVRefNum      input:  Destination volume specification.
-    dstDirID        input:  Destination directory ID.
-    dstName         input:  Destination directory name, or nil if
-                            dstDirID specifies the directory.
-    copyName        input:  Points to the new directory name if the directory
-                            is to be renamed or nil if the directory isn't to
-                            be renamed.
-    copyBufferPtr   input:  Points to a buffer of copyBufferSize that
-                            is used the i/o buffer for the copy or
-                            nil if you want DirectoryCopy to allocate its
-                            own buffer in the application heap.
-    copyBufferSize  input:  The size of the buffer pointed to
-                            by copyBufferPtr.
-    preflight       input:  If true, DirectoryCopy makes sure there are
-                            enough allocation blocks on the destination
-                            volume to hold the directory's files before
-                            starting the copy.
-    copyErrHandler  input:  A pointer to the routine you want called if an
-                            error condition is detected during the copy, or
-                            nil if you don't want to handle error conditions.
-                            If you don't handle error conditions, the first
-                            error will cause the copy to quit and
-                            DirectoryCopy will return the error.
-                            Error handling is recommended...
-    copyFilterProc  input:  A pointer to the filter routine you want called
-                            for each item in the source directory, or NULL
-                            if you don't want to filter.
-    
-    Result Codes
-        noErr               0       No error
-        readErr             Ð19     Driver does not respond to read requests
-        writErr             Ð20     Driver does not respond to write requests
-        badUnitErr          Ð21     Driver reference number does not
-                                    match unit table
-        unitEmptyErr        Ð22     Driver reference number specifies a
-                                    nil handle in unit table
-        abortErr            Ð27     Request aborted by KillIO
-        notOpenErr          Ð28     Driver not open
-        dskFulErr           -34     Destination volume is full
-        nsvErr              -35     No such volume
-        ioErr               -36     I/O error
-        bdNamErr            -37     Bad filename
-        tmfoErr             -42     Too many files open
-        fnfErr              -43     Source file not found, or destination
-                                    directory does not exist
-        wPrErr              -44     Volume locked by hardware
-        fLckdErr            -45     File is locked
-        vLckdErr            -46     Destination volume is read-only
-        fBsyErr             -47     The source or destination file could
-                                    not be opened with the correct access
-                                    modes
-        dupFNErr            -48     Destination file already exists
-        opWrErr             -49     File already open for writing
-        paramErr            -50     No default volume or function not
-                                    supported by volume
-        permErr             -54     File is already open and cannot be opened using specified deny modes
-        memFullErr          -108    Copy buffer could not be allocated
-        dirNFErr            -120    Directory not found or incomplete pathname
-        wrgVolTypErr        -123    Function not supported by volume
-        afpAccessDenied     -5000   User does not have the correct access
-        afpDenyConflict     -5006   The source or destination file could
-                                    not be opened with the correct access
-                                    modes
-        afpObjectTypeErr    -5025   Source is a directory, directory not found
-                                    or incomplete pathname
-    
-    __________
-    
-    Also see:   CopyErrProcPtr, CopyFilterProcPtr, FSpFilteredDirectoryCopy,
-                DirectoryCopy, FSpDirectoryCopy, FileCopy, FSpFileCopy
-*/
-
-/*****************************************************************************/
-
-EXTERN_API( OSErr )
-FSpFilteredDirectoryCopy(
-  const FSSpec *      srcSpec,
-  const FSSpec *      dstSpec,
-  ConstStr255Param    copyName,
-  void *              copyBufferPtr,
-  long                copyBufferSize,
-  Boolean             preflight,
-  CopyErrProcPtr      copyErrHandler,
-  CopyFilterProcPtr   copyFilterProc);
-
-
-/*
-    The FSpFilteredDirectoryCopy function makes a copy of a directory
-    structure in a new location. If copyBufferPtr <> NIL, it points to
-    a buffer of copyBufferSize that is used to copy files data. The
-    larger the supplied buffer, the faster the copy. If
-    copyBufferPtr = NIL, then this routine allocates a buffer in the
-    application heap. If you pass a copy buffer to this routine, make
-    its size a multiple of 512 ($200) bytes for optimum performance.
-    
-    The optional copyFilterProc parameter lets a routine you define
-    decide what files or directories are copied to the destination.
-    
-    srcSpec         input:  An FSSpec record specifying the directory to copy.
-    dstSpec         input:  An FSSpec record specifying destination directory
-                            of the copy.
-    copyName        input:  Points to the new directory name if the directory
-                            is to be renamed or nil if the directory isn't to
-                            be renamed.
-    copyBufferPtr   input:  Points to a buffer of copyBufferSize that
-                            is used the i/o buffer for the copy or
-                            nil if you want DirectoryCopy to allocate its
-                            own buffer in the application heap.
-    copyBufferSize  input:  The size of the buffer pointed to
-                            by copyBufferPtr.
-    preflight       input:  If true, FSpDirectoryCopy makes sure there are
-                            enough allocation blocks on the destination
-                            volume to hold the directory's files before
-                            starting the copy.
-    copyErrHandler  input:  A pointer to the routine you want called if an
-                            error condition is detected during the copy, or
-                            nil if you don't want to handle error conditions.
-                            If you don't handle error conditions, the first
-                            error will cause the copy to quit and
-                            DirectoryCopy will return the error.
-                            Error handling is recommended...
-    copyFilterProc  input:  A pointer to the filter routine you want called
-                            for each item in the source directory, or NULL
-                            if you don't want to filter.
-    
-    Result Codes
-        noErr               0       No error
-        readErr             Ð19     Driver does not respond to read requests
-        writErr             Ð20     Driver does not respond to write requests
-        badUnitErr          Ð21     Driver reference number does not
-                                    match unit table
-        unitEmptyErr        Ð22     Driver reference number specifies a
-                                    nil handle in unit table
-        abortErr            Ð27     Request aborted by KillIO
-        notOpenErr          Ð28     Driver not open
-        dskFulErr           -34     Destination volume is full
-        nsvErr              -35     No such volume
-        ioErr               -36     I/O error
-        bdNamErr            -37     Bad filename
-        tmfoErr             -42     Too many files open
-        fnfErr              -43     Source file not found, or destination
-                                    directory does not exist
-        wPrErr              -44     Volume locked by hardware
-        fLckdErr            -45     File is locked
-        vLckdErr            -46     Destination volume is read-only
-        fBsyErr             -47     The source or destination file could
-                                    not be opened with the correct access
-                                    modes
-        dupFNErr            -48     Destination file already exists
-        opWrErr             -49     File already open for writing
-        paramErr            -50     No default volume or function not
-                                    supported by volume
-        permErr             -54     File is already open and cannot be opened using specified deny modes
-        memFullErr          -108    Copy buffer could not be allocated
-        dirNFErr            -120    Directory not found or incomplete pathname
-        wrgVolTypErr        -123    Function not supported by volume
-        afpAccessDenied     -5000   User does not have the correct access
-        afpDenyConflict     -5006   The source or destination file could
-                                    not be opened with the correct access
-                                    modes
-        afpObjectTypeErr    -5025   Source is a directory, directory not found
-                                    or incomplete pathname
-    
-    __________
-    
-    Also see:   CopyErrProcPtr, CopyFilterProcPtr, FilteredDirectoryCopy,
-                DirectoryCopy, FSpDirectoryCopy, FileCopy, FSpFileCopy
-*/
-
-/*****************************************************************************/
-
-EXTERN_API( OSErr )
-DirectoryCopy(
-  short              srcVRefNum,
-  long               srcDirID,
-  ConstStr255Param   srcName,
-  short              dstVRefNum,
-  long               dstDirID,
-  ConstStr255Param   dstName,
-  ConstStr255Param   copyName,
-  void *             copyBufferPtr,
-  long               copyBufferSize,
-  Boolean            preflight,
-  CopyErrProcPtr     copyErrHandler);
-
-
-/*
-    The DirectoryCopy function makes a copy of a directory structure in a
-    new location. If copyBufferPtr <> NIL, it points to a buffer of
-    copyBufferSize that is used to copy files data.  The larger the
-    supplied buffer, the faster the copy.  If copyBufferPtr = NIL, then this
-    routine allocates a buffer in the application heap. If you pass a
-    copy buffer to this routine, make its size a multiple of 512
-    ($200) bytes for optimum performance.
-    
-    DirectoryCopy normally creates a new directory *in* the specified
-    destination directory and copies the source directory's content into
-    the new directory. However, if root parent directory (fsRtParID)
-    is passed as the dstDirID parameter and NULL is passed as the
-    dstName parameter, DirectoryCopy renames the destination volume to
-    the source directory's name (truncating if the name is longer than
-    27 characters) and copies the source directory's content into the
-    destination volume's root directory. This special case is supported
-    by DirectoryCopy, but not by FSpDirectoryCopy since with
-    FSpDirectoryCopy, the dstName parameter can not be NULL.
-    
-    srcVRefNum      input:  Source volume specification.
-    srcDirID        input:  Source directory ID.
-    srcName         input:  Source directory name, or nil if
-                            srcDirID specifies the directory.
-    dstVRefNum      input:  Destination volume specification.
-    dstDirID        input:  Destination directory ID.
-    dstName         input:  Destination directory name, or nil if
-                            dstDirID specifies the directory.
-    copyName        input:  Points to the new directory name if the directory
-                            is to be renamed or nil if the directory isn't to
-                            be renamed.
-    copyBufferPtr   input:  Points to a buffer of copyBufferSize that
-                            is used the i/o buffer for the copy or
-                            nil if you want DirectoryCopy to allocate its
-                            own buffer in the application heap.
-    copyBufferSize  input:  The size of the buffer pointed to
-                            by copyBufferPtr.
-    preflight       input:  If true, DirectoryCopy makes sure there are
-                            enough allocation blocks on the destination
-                            volume to hold the directory's files before
-                            starting the copy.
-    copyErrHandler  input:  A pointer to the routine you want called if an
-                            error condition is detected during the copy, or
-                            nil if you don't want to handle error conditions.
-                            If you don't handle error conditions, the first
-                            error will cause the copy to quit and
-                            DirectoryCopy will return the error.
-                            Error handling is recommended...
-    
-    Result Codes
-        noErr               0       No error
-        readErr             Ð19     Driver does not respond to read requests
-        writErr             Ð20     Driver does not respond to write requests
-        badUnitErr          Ð21     Driver reference number does not
-                                    match unit table
-        unitEmptyErr        Ð22     Driver reference number specifies a
-                                    nil handle in unit table
-        abortErr            Ð27     Request aborted by KillIO
-        notOpenErr          Ð28     Driver not open
-        dskFulErr           -34     Destination volume is full
-        nsvErr              -35     No such volume
-        ioErr               -36     I/O error
-        bdNamErr            -37     Bad filename
-        tmfoErr             -42     Too many files open
-        fnfErr              -43     Source file not found, or destination
-                                    directory does not exist
-        wPrErr              -44     Volume locked by hardware
-        fLckdErr            -45     File is locked
-        vLckdErr            -46     Destination volume is read-only
-        fBsyErr             -47     The source or destination file could
-                                    not be opened with the correct access
-                                    modes
-        dupFNErr            -48     Destination file already exists
-        opWrErr             -49     File already open for writing
-        paramErr            -50     No default volume or function not
-                                    supported by volume
-        permErr             -54     File is already open and cannot be opened using specified deny modes
-        memFullErr          -108    Copy buffer could not be allocated
-        dirNFErr            -120    Directory not found or incomplete pathname
-        wrgVolTypErr        -123    Function not supported by volume
-        afpAccessDenied     -5000   User does not have the correct access
-        afpDenyConflict     -5006   The source or destination file could
-                                    not be opened with the correct access
-                                    modes
-        afpObjectTypeErr    -5025   Source is a directory, directory not found
-                                    or incomplete pathname
-    
-    __________
-    
-    Also see:   CopyErrProcPtr, FSpDirectoryCopy, FilteredDirectoryCopy,
-                FSpFilteredDirectoryCopy, FileCopy, FSpFileCopy
-*/
-
-/*****************************************************************************/
-
-EXTERN_API( OSErr )
-FSpDirectoryCopy(
-  const FSSpec *     srcSpec,
-  const FSSpec *     dstSpec,
-  ConstStr255Param   copyName,
-  void *             copyBufferPtr,
-  long               copyBufferSize,
-  Boolean            preflight,
-  CopyErrProcPtr     copyErrHandler);
-
-
-/*
-    The FSpDirectoryCopy function makes a copy of a directory structure in a
-    new location. If copyBufferPtr <> NIL, it points to a buffer of
-    copyBufferSize that is used to copy files data.  The larger the
-    supplied buffer, the faster the copy.  If copyBufferPtr = NIL, then this
-    routine allocates a buffer in the application heap. If you pass a
-    copy buffer to this routine, make its size a multiple of 512
-    ($200) bytes for optimum performance.
-    
-    srcSpec         input:  An FSSpec record specifying the directory to copy.
-    dstSpec         input:  An FSSpec record specifying destination directory
-                            of the copy.
-    copyName        input:  Points to the new directory name if the directory
-                            is to be renamed or nil if the directory isn't to
-                            be renamed.
-    copyBufferPtr   input:  Points to a buffer of copyBufferSize that
-                            is used the i/o buffer for the copy or
-                            nil if you want DirectoryCopy to allocate its
-                            own buffer in the application heap.
-    copyBufferSize  input:  The size of the buffer pointed to
-                            by copyBufferPtr.
-    preflight       input:  If true, FSpDirectoryCopy makes sure there are
-                            enough allocation blocks on the destination
-                            volume to hold the directory's files before
-                            starting the copy.
-    copyErrHandler  input:  A pointer to the routine you want called if an
-                            error condition is detected during the copy, or
-                            nil if you don't want to handle error conditions.
-                            If you don't handle error conditions, the first
-                            error will cause the copy to quit and
-                            DirectoryCopy will return the error.
-                            Error handling is recommended...
-    
-    Result Codes
-        noErr               0       No error
-        readErr             Ð19     Driver does not respond to read requests
-        writErr             Ð20     Driver does not respond to write requests
-        badUnitErr          Ð21     Driver reference number does not
-                                    match unit table
-        unitEmptyErr        Ð22     Driver reference number specifies a
-                                    nil handle in unit table
-        abortErr            Ð27     Request aborted by KillIO
-        notOpenErr          Ð28     Driver not open
-        dskFulErr           -34     Destination volume is full
-        nsvErr              -35     No such volume
-        ioErr               -36     I/O error
-        bdNamErr            -37     Bad filename
-        tmfoErr             -42     Too many files open
-        fnfErr              -43     Source file not found, or destination
-                                    directory does not exist
-        wPrErr              -44     Volume locked by hardware
-        fLckdErr            -45     File is locked
-        vLckdErr            -46     Destination volume is read-only
-        fBsyErr             -47     The source or destination file could
-                                    not be opened with the correct access
-                                    modes
-        dupFNErr            -48     Destination file already exists
-        opWrErr             -49     File already open for writing
-        paramErr            -50     No default volume or function not
-                                    supported by volume
-        permErr             -54     File is already open and cannot be opened using specified deny modes
-        memFullErr          -108    Copy buffer could not be allocated
-        dirNFErr            -120    Directory not found or incomplete pathname
-        wrgVolTypErr        -123    Function not supported by volume
-        afpAccessDenied     -5000   User does not have the correct access
-        afpDenyConflict     -5006   The source or destination file could
-                                    not be opened with the correct access
-                                    modes
-        afpObjectTypeErr    -5025   Source is a directory, directory not found
-                                    or incomplete pathname
-    
-    __________
-    
-    Also see:   CopyErrProcPtr, DirectoryCopy, FilteredDirectoryCopy,
-                FSpFilteredDirectoryCopy, FileCopy, FSpFileCopy
-*/
-
-/*****************************************************************************/
-
-#include "OptimizationEnd.h"
-
-#if PRAGMA_STRUCT_ALIGN
-    #pragma options align=reset
-#elif PRAGMA_STRUCT_PACKPUSH
-    #pragma pack(pop)
-#elif PRAGMA_STRUCT_PACK
-    #pragma pack()
-#endif
-
-#ifdef PRAGMA_IMPORT_OFF
-#pragma import off
-#elif PRAGMA_IMPORT
-#pragma import reset
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __DIRECTORYCOPY__ */
-