campo-sirio/al/h/fileattr.inl
alex 714dd74636 Archive Library versione 2.00
git-svn-id: svn://10.65.10.50/trunk@5350 c028cbd2-c16b-5b4b-a496-9718f37d4682
1997-10-09 16:09:54 +00:00

486 lines
13 KiB
C++
Executable File

//
// FILEATTR.INL
//
// Source file for ArchiveLib 2.0
// Inline function definitions
//
// Copyright (c) Greenleaf Software, Inc. 1994-1996
// All Rights Reserved
//
// CONTENTS
//
// ALFileAttributes::ReadOnly()
// ALFileAttributes::System()
// ALFileAttributes::Hidden()
// ALFileAttributes::Archive()
// ALFileAttributes::Directory()
//
// DESCRIPTION
//
// Inline functions for class ALFileAttribute.
//
// REVISION HISTORY
//
// February 14, 1996 2.0A : New release
//
// NAME
//
// ALFileAttributes::ReadOnly()
//
// PLATFORMS/ENVIRONMENTS
//
// Console Windows PM
// C++ C VB Delphi
//
// SHORT DESCRIPTION
//
// Get the ReadOnly file protection bit for a storage object.
//
// C++ SYNOPSIS
//
// #include "arclib.h"
// #include "fileattr.h"
//
// int ALFileAttributes::ReadOnly()
//
// C SYNOPSIS
//
// #include "arclib.h"
// #include "fileattr.h"
//
// int ALStorageReadOnly( hALStorage storage );
//
// VB SYNOPSIS
//
// Declare Function ALStorageReadOnly Lib "AL20LW" (ByVal storage&) As Integer
//
// DELPHI SYNOPSIS
//
// function ALStorageReadOnly( storage : hALStorage ) : Integer;
//
// ARGUMENTS
//
// storage : The C++ version of this function is a member function that
// is applied to the mAttribute member of a storage object.
// As such, it doesn't have an explicit parameter, since it
// uses the mAttribute object as its implicit this. Things are
// a little trickier for C, VB, and Delphi. Since these languages
// don't have easy access to the mAttribute member like we do in
// C++, we give these programmers a shortcut. Instead of applying
// this function to an mAttribute member, they get to apply it
// directly to a storage object. That's what this argument is.
//
// DESCRIPTION
//
// Every storage object has a set of attributes that correspond to the
// attributes kept by the file system. These might not make sense for
// objects such as ALMemory, but they are kept on hand anyway. This
// function is one of a collection that is used to read those attribute
// bits.
//
// RETURNS
//
// An integer that will be set to 0 if the ReadOnly bit of the storage
// object is clear, or 1 if it is set.
//
// EXAMPLE
//
// SEE ALSO
//
// REVISION HISTORY
//
// February 14, 1996 2.0A : New release
//
inline int AL_INLINE_PROTO
ALFileAttributes::ReadOnly() /* Tag public function */
{
return miReadOnly;
}
//
// NAME
//
// ALFileAttributes::System()
//
// PLATFORMS/ENVIRONMENTS
//
// Console Windows PM
// C++ C VB Delphi
//
// SHORT DESCRIPTION
//
// Get the System file protection bit for a storage object.
//
// C++ SYNOPSIS
//
// #include "arclib.h"
// #include "fileattr.h"
//
// int ALFileAttributes::System()
//
// C SYNOPSIS
//
// #include "arclib.h"
// #include "fileattr.h"
//
// int ALStorageSystem( hALStorage storage );
//
// VB SYNOPSIS
//
// Declare Function ALStorageSystem Lib "AL20LW" (ByVal storage&) As Integer
//
// DELPHI SYNOPSIS
//
// function ALStorageSystem( storage : hALStorage ) : Integer;
//
// ARGUMENTS
//
// storage : The C++ version of this function is a member function that
// is applied to the mAttribute member of a storage object.
// As such, it doesn't have an explicit parameter, since it
// uses the mAttribute object as its implicit this. Things are
// a little trickier for C, VB, and Delphi. Since these languages
// don't have easy access to the mAttribute member like we do in
// C++, we give these programmers a shortcut. Instead of applying
// this function to an mAttribute member, they get to apply it
// directly to a storage object. That's what this argument is.
//
// DESCRIPTION
//
// Every storage object has a set of attributes that correspond to the
// attributes kept by the file system. These might not make sense for
// objects such as ALMemory, but they are kept on hand anyway. This
// function is one of a collection that is used to read those attribute
// bits.
//
// RETURNS
//
// An integer that will be set to 0 if the System bit of the storage
// object is clear, or 1 if it is set.
//
// EXAMPLE
//
// SEE ALSO
//
// REVISION HISTORY
//
// February 14, 1996 2.0A : New release
//
inline int AL_INLINE_PROTO
ALFileAttributes::System() /* Tag public function */
{
return miSystem;
}
//
// NAME
//
// ALFileAttributes::Hidden()
//
// PLATFORMS/ENVIRONMENTS
//
// Console Windows PM
// C++ C VB Delphi
//
// SHORT DESCRIPTION
//
// Get the Hidden file protection bit for a storage object.
//
// C++ SYNOPSIS
//
// #include "arclib.h"
// #include "fileattr.h"
//
// int ALFileAttributes::Hidden()
//
// C SYNOPSIS
//
// #include "arclib.h"
// #include "fileattr.h"
//
// int ALStorageHidden( hALStorage storage );
//
// VB SYNOPSIS
//
// Declare Function ALStorageHidden Lib "AL20LW" (ByVal storage&) As Integer
//
// DELPHI SYNOPSIS
//
// function ALStorageHidden( storage : hALStorage ) : Integer;
//
// ARGUMENTS
//
// storage : The C++ version of this function is a member function that
// is applied to the mAttribute member of a storage object.
// As such, it doesn't have an explicit parameter, since it
// uses the mAttribute object as its implicit this. Things are
// a little trickier for C, VB, and Delphi. Since these languages
// don't have easy access to the mAttribute member like we do in
// C++, we give these programmers a shortcut. Instead of applying
// this function to an mAttribute member, they get to apply it
// directly to a storage object. That's what this argument is.
//
// DESCRIPTION
//
// Every storage object has a set of attributes that correspond to the
// attributes kept by the file system. These might not make sense for
// objects such as ALMemory, but they are kept on hand anyway. This
// function is one of a collection that is used to read those attribute
// bits.
//
// RETURNS
//
// An integer that will be set to 0 if the Hidden bit of the storage
// object is clear, or 1 if it is set.
//
// EXAMPLE
//
// SEE ALSO
//
// REVISION HISTORY
//
// February 14, 1996 2.0A : New release
//
inline int AL_INLINE_PROTO
ALFileAttributes::Hidden() /* Tag public function */
{
return miHidden;
}
//
// NAME
//
// ALFileAttributes::Archive()
//
// PLATFORMS/ENVIRONMENTS
//
// Console Windows PM
// C++ C VB Delphi
//
// SHORT DESCRIPTION
//
// Get the Archive (or backup) file protection bit for a storage object.
//
// C++ SYNOPSIS
//
// #include "arclib.h"
// #include "fileattr.h"
//
// int ALFileAttributes::Archive()
//
// C SYNOPSIS
//
// #include "arclib.h"
// #include "fileattr.h"
//
// int ALStorageArchive( hALStorage storage );
//
// VB SYNOPSIS
//
// Declare Function ALStorageArchive Lib "AL20LW" (ByVal storage&) As Integer
//
// DELPHI SYNOPSIS
//
// function ALStorageArchive( storage : hALStorage ) : Integer;
//
// ARGUMENTS
//
// storage : The C++ version of this function is a member function that
// is applied to the mAttribute member of a storage object.
// As such, it doesn't have an explicit parameter, since it
// uses the mAttribute object as its implicit this. Things are
// a little trickier for C, VB, and Delphi. Since these languages
// don't have easy access to the mAttribute member like we do in
// C++, we give these programmers a shortcut. Instead of applying
// this function to an mAttribute member, they get to apply it
// directly to a storage object. That's what this argument is.
//
// DESCRIPTION
//
// Every storage object has a set of attributes that correspond to the
// attributes kept by the file system. These might not make sense for
// objects such as ALMemory, but they are kept on hand anyway. This
// function is one of a collection that is used to read those attribute
// bits.
//
// RETURNS
//
// An integer that will be set to 0 if the Archive bit of the storage
// object is clear, or 1 if it is set.
//
// EXAMPLE
//
// SEE ALSO
//
// REVISION HISTORY
//
// February 14, 1996 2.0A : New release
//
inline int AL_INLINE_PROTO
ALFileAttributes::Archive() /* Tag public function */
{
return miArchive;
}
//
// NAME
//
// ALFileAttributes::Directory()
//
// PLATFORMS/ENVIRONMENTS
//
// Console Windows PM
// C++ C VB Delphi
//
// SHORT DESCRIPTION
//
// Get the Directory file protection bit for a storage object.
//
// C++ SYNOPSIS
//
// #include "arclib.h"
// #include "fileattr.h"
//
// int ALFileAttributes::Directory()
//
// C SYNOPSIS
//
// #include "arclib.h"
// #include "fileattr.h"
//
// int ALStorageDirectory( hALStorage storage );
//
// VB SYNOPSIS
//
// Declare Function ALStorageDirectory Lib "AL20LW" (ByVal storage&) As Integer
//
// DELPHI SYNOPSIS
//
// function ALStorageDirectory( storage : hALStorage ) : Integer;
//
// ARGUMENTS
//
// storage : The C++ version of this function is a member function that
// is applied to the mAttribute member of a storage object.
// As such, it doesn't have an explicit parameter, since it
// uses the mAttribute object as its implicit this. Things are
// a little trickier for C, VB, and Delphi. Since these languages
// don't have easy access to the mAttribute member like we do in
// C++, we give these programmers a shortcut. Instead of applying
// this function to an mAttribute member, they get to apply it
// directly to a storage object. That's what this argument is.
//
// DESCRIPTION
//
// Every storage object has a set of attributes that correspond to the
// attributes kept by the file system. These might not make sense for
// objects such as ALMemory, but they are kept on hand anyway. This
// function is one of a collection that is used to read those attribute
// bits.
//
// This attribute bit is a little different than all the other bits
// in the attribute structure. If an object has the directory bit set,
// it is more like a placeholder than anything else, and by definition
// it will have a length of 0. When the expansion routines are running,
// they take special action when creating a file whose directory bit is
// set.
//
// At this time, ArchiveLib won't create any entries in an archive with
// the directory bit set. However, it will attempt to create directories
// it finds in PK archives.
//
// RETURNS
//
// An integer that will be set to 0 if the Directory bit of the storage
// object is clear, or 1 if it is set.
//
// EXAMPLE
//
// SEE ALSO
//
// REVISION HISTORY
//
// February 14, 1996 2.0A : New release
//
inline int AL_INLINE_PROTO
ALFileAttributes::Directory() /* Tag public function */
{
return miDirectory;
}
//
// The rest of these functions were in use once, when ArchiveLib briefly
// had a history on UNIX boxes. Now, they are sad relics of greater times
// gone by. As such, they aren't documented, and they aren't supported.
// Even worse, they don't have any C/VB/Delphi wrapper functions.
//
inline int AL_INLINE_PROTO
ALFileAttributes::UnixBitsPresent() /* Tag public function */
{
return miUnixBitsPresent;
}
inline int AL_INLINE_PROTO
ALFileAttributes::UserRead() /* Tag public function */
{
return miUserRead;
}
inline int AL_INLINE_PROTO
ALFileAttributes::UserWrite() /* Tag public function */
{
return miUserWrite;
}
inline int AL_INLINE_PROTO
ALFileAttributes::UserExecute() /* Tag public function */
{
return miUserExecute;
}
inline int AL_INLINE_PROTO
ALFileAttributes::OtherRead() /* Tag public function */
{
return miOtherRead;
}
inline int AL_INLINE_PROTO
ALFileAttributes::OtherWrite() /* Tag public function */
{
return miOtherWrite;
}
inline int AL_INLINE_PROTO
ALFileAttributes::OtherExecute() /* Tag public function */
{
return miOtherExecute;
}
inline int AL_INLINE_PROTO
ALFileAttributes::GroupRead() /* Tag public function */
{
return miGroupRead;
}
inline int AL_INLINE_PROTO
ALFileAttributes::GroupWrite() /* Tag public function */
{
return miGroupWrite;
}
inline int AL_INLINE_PROTO
ALFileAttributes::GroupExecute() /* Tag public function */
{
return miGroupExecute;
}