campo-sirio/al/h/arc.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

328 lines
8.1 KiB
C++
Executable File

//
// ARC.INL
//
// Source file for ArchiveLib 2.0
// Inline function definitions
//
// Copyright (c) Greenleaf Software, Inc. 1994-1996
// All Rights Reserved
//
// CONTENTS
//
// ALArchive::ClearError()
// ALArchive::GetComment()
// ALArchive::GetVersion()
// ALArchive::GetStorageObject()
//
//
// DESCRIPTION
//
// Inline member functions of class ALArchive.
//
// REVISION HISTORY
//
// February 14, 1996 2.0A : New release
//
// NAME
//
// ALArchive::ClearError()
//
// PLATFORMS/ENVIRONMENTS
//
// Console Windows PM
// C++ C VB Delphi
//
// SHORT DESCRIPTION
//
// Reset the error status for an entry list.
//
// C++ SYNOPSIS
//
// #include "arclib.h"
//
// void ALArchive::ClearError()
//
// C SYNOPSIS
//
// #include <arclib.h>
//
// void ALArchiveClearError( hALArchive this_object );
//
// VB SYNOPSIS
//
// Declare Sub ALArchiveClearError Lib "AL20LW" (ByVal this_object& )
//
// DELPHI SYNOPSIS
//
// procedure ALArchiveClearError( this_object : hALArchive );
//
// ARGUMENTS
//
// this_object : A reference or pointer to the ALArchive object that
// is going to have its status reset. Note that the C++
// version of this call doesn't have an explicit argument
// here, since it has access to 'this' implicitly.
//
// DESCRIPTION
//
// An ALArchive object carries around a status object in its mStatus
// member. For various reasons, this member might get set to an error
// condition. Error conditions aren't cleared automatically by the library,
// so the user will have to manually clear it with a call to this function.
//
// This is a real simple function, so in C++ it will be implemented as
// an inline function. The rest of the supported languages don't have
// this luxury.
//
// RETURNS
//
// Nothing.
//
// EXAMPLE
//
// SEE ALSO
//
// REVISION HISTORY
//
// February 14, 1996 2.0A : New release
//
inline void AL_INLINE_PROTO
ALArchive::ClearError() /* Tag public function */
{
mStatus.SetError( AL_SUCCESS, 0 );
}
//
// NAME
//
// ALArchive::GetComment()
//
// PLATFORMS/ENVIRONMENTS
//
// Console Windows PM
// C++ C VB Delphi
//
// SHORT DESCRIPTION
//
// Get the comment attached to an ALArchive object.
//
// C++ SYNOPSIS
//
// #include <arclib.h>
//
// const char * ALArchive::GetComment();
//
// C SYNOPSIS
//
// #include <arclib.h>
//
// char * ALArchiveGetComment( hALArchive this_object );
//
// VB SYNOPSIS
//
// Declare Function ALArchiveGetComment Lib "AL20LW"
// Alias "ALArchiveGetCommentVB"
// (ByVal this_object&) As String
//
// DELPHI SYNOPSIS
//
// function ALArchiveGetComment( this_object : hALArchive ) : PChar;
//
//
// ARGUMENTS
//
// this_object : A reference or pointer to the ALArchive object in
// question. Note that the C++ version of this function
// doesn't have an explicit argument pointing to this_object,
// since it has access to 'this' implicitly.
//
// DESCRIPTION
//
// This function is used to retrieve the comment associated with
// an ALArchive object. Comments can be set manually at run time with
// the SetComment() function, or they can be read into the ALArchive
// object when reading the directory from the physical archive.
//
// This is a real simple function, so in C++ it will normally be implemented
// as inline. The other supported languages will still have to call the
// normal C function, found in CXL_ARCH.CPP.
//
// RETURNS
//
// A string containing the comment. For C++, C, and Delphi programmers,
// this will be a pointer to a null-terminated C-Style character array.
// The string itself is actually stored in the ALEntry object, and YOU
// MUST NOT MODIFY IT!!! C++ will prevent you from doing this, but C
// and Delphi programs are simply on their honor.
//
// C-style character strings aren't very fun to work with in VB, so the
// VB version of this function actually returns a true VB string. Since
// this VB string has no connection to the ALArchive object, you are free
// to jack with it to your heart's delight.
//
// EXAMPLE
//
// SEE ALSO
//
// REVISION HISTORY
//
// February 14, 1996 2.0A : New release
//
inline const char AL_DLL_FAR * AL_INLINE_PROTO
ALArchive::GetComment() /* Tag public function */
{
return mComment;
}
//
// NAME
//
// ALArchive::GetVersion()
//
// PLATFORMS/ENVIRONMENTS
//
// Console Windows PM
// C++ C VB Delphi
//
// SHORT DESCRIPTION
//
// Read the version number for an archive object.
//
// C++ SYNOPSIS
//
// #include <arclib.h>
//
// short ALArchive::GetVersion()
//
// C SYNOPSIS
//
// #include <arclib.h>
//
// int ALArchiveGetVersion( hALArchive this_object );
//
// VB SYNOPSIS
//
// Declare Function ALArchiveGetVersion Lib "AL20LW"
// (ByVal this_object&) As Integer
//
// DELPHI SYNOPSIS
//
// function ALArchiveGetVersion( this_object : hALArchive ) : Integer;
//
// ARGUMENTS
//
// this_object : A reference or pointer to the ALArchive object in
// question. Note that the C++ version of this function
// doesn't have an explicit argument for this_object,
// since it has access to 'this' implicitly.
//
// DESCRIPTION
//
// An ALArchive object carries around a version number in its miVersion
// member. Sometimes we might like to see what that version number is,
// but it's a protected member, so we need an access function. That's
// what this guy is.
//
// This is a real simple function, so it will normally be implemented as
// inline. The rest of the supported languages don't have
// this luxury.
//
// RETURNS
//
// At this time, all ALGlArchive objects are going to return 0x100 for
// their version number. ALPkArchive objects should always return 0x20.
// Since their haven't been any upgrades of either format since ArchiveLib
// was first created, version numbers aren't too important yet. As
// archive formats are updated, this will change.
//
// EXAMPLE
//
// SEE ALSO
//
// REVISION HISTORY
//
// February 14, 1996 2.0A : New release
//
inline short AL_INLINE_PROTO
ALArchive::GetVersion() /* Tag public function */
{
return miVersion;
}
//
// NAME
//
// ALArchive::GetStorageObject()
//
// PLATFORMS/ENVIRONMENTS
//
// Console Windows PM
// C++ C VB Delphi
//
// SHORT DESCRIPTION
//
// Get a pointer to the storage object being used by the ALArchive.
//
// C++ SYNOPSIS
//
// #include "arclib.h"
//
// ALStorage * ALArchive::GetStorageObject()
//
// C SYNOPSIS
//
// #include "arclib.h"
//
// hALStorage ALArchiveGetStorage( hALArchive this_object );
//
// VB SYNOPSIS
//
// Declare Function ALArchiveGetStorage Lib "AL20LW"
// (ByVal archive&) As Long
//
// DELPHI SYNOPSIS
//
// function ALArchiveGetStorage( this_object : hALArchive ) : hALStorage;
//
// ARGUMENTS
//
// this_object : A reference or pointer to the ALArchive object in
// question. Note that the C++ version of this function
// doesn't have an explicit argument for this_object,
// since it has access to 'this' implicitly.
//
// DESCRIPTION
//
// An ALArchive object always has a storage object underlying it. The
// storage object is where the archived objects are actually stored.
// Sometimes you might want to check out this storage object, for various
// reasons. You can get at it with this function.
//
// This is a real simple function, so it will normally be implemented as
// an inline function. The rest of the supported languages don't have
// this luxury.
//
// RETURNS
//
// A reference or pointer to the storage object underlying the archive.
//
// EXAMPLE
//
// SEE ALSO
//
// REVISION HISTORY
//
// February 14, 1996 2.0A : New release
//
inline ALStorage AL_DLL_FAR * AL_INLINE_PROTO
ALArchive::GetStorageObject() /* Tag public function */
{
return mpArchiveStorageObject;
}