campo-sirio/arch/fileattr.h

112 lines
3.5 KiB
C++
Executable File

/*
* 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 */