/* * FIELATTR.H * * Header file for ArchiveLib 1.0 * * Copyright (c) 1994 Greenleaf Software, Inc. * All Rights Reserved * * DESCRIPTION * * This file contains the class definition for ALFileAttributes. * * CLASS DEFINITIONS: * * ALFileAttributes * * REVISION HISTORY * * May 26, 1994 1.0A : First release * */ #ifndef _FILEATTR_H #define _FILEATTR_H /* * class ALFileAttributes * * DESCRIPTION * * This class is used to carry around file attributes. Its only * real job at this time is to sit in the ALStorage class * and then produce packed attributes for inclusion in an archive, * and vice versa. We will need to add some additional members * here for searching archives based on certain attribute criteria. * * Note that most of the classes in Archive library deliberately * withhold the copy constructor and assignment operator. In this case, * however, the compiler is able to generate an adequate version of * these functions, so they aren't disabled. * * DATA MEMBERS * * miReadOnly : The read only file attribute bit, set when the file * is opened or when the directory is read from the archive. * * miSystem : The system file attribute bit. * * miHidden : The hidden file attribute bit. * * miArchive : The archive (backup) file attribute bit. * * MEMBER FUNCTIONS * * ALFileAttributes() : The constructor, doesn't have to do much. * ~ALFileAttributes() : The destructor, doesn't have to do anything. * operator new( size_t size ) : Memory allocation operator, only used if * the library is inside a DLL. * PackedAttributes() : Returns the bits packed into an integer * in ArchiveLib proprietary format. * SetFromWin32Attributes() : Sets the four member bits using as input * the attributes as returned in a Win32 call. * GetWin32Attributes() : Returns the four member bits packed into * Win 32 format. * SetFromDosAttributes() : Sets the four using as input the settings * returned from a DOS function call. * GetDosAttributes() : Returns the member bits formatted into * the short int used by a Dos function call. * SetFromPackedAttributes() : Sets the member bits using as input a * short int in proprietary ArchiveLib format. * * REVISION HISTORY * * May 26, 1994 1.0A : First release * */ class AL_CLASS_TYPE ALFileAttributes { /* * Constructors, destructors, declarations, and friends */ public : AL_PROTO ALFileAttributes(); AL_PROTO ~ALFileAttributes(); #if defined( AL_USING_DLL ) || defined( AL_BUILDING_DLL ) void AL_DLL_FAR * AL_PROTO operator new( size_t size ); #endif /* * Member functions */ public : short unsigned int AL_PROTO PackedAttributes(); #if defined( AL_WIN32S ) void AL_PROTO SetFromWin32Attributes( DWORD win32_attributes ); DWORD AL_PROTO GetWin32Attributes(); #else void AL_PROTO SetFromDosAttributes( unsigned dos_attributes ); unsigned short int AL_PROTO GetDosAttributes(); #endif void AL_PROTO SetFromPackedAttributes( short int attributes ); /* * Data members */ protected : int miReadOnly:1; int miSystem:1; int miHidden:1; int miArchive:1; }; #endif /* #ifndef _FILEATTR_H */