705 lines
21 KiB
C++
Executable File
705 lines
21 KiB
C++
Executable File
//
|
|
// CXL_ENTR.CPP
|
|
//
|
|
// Source file for ArchiveLib 1.0
|
|
//
|
|
// Copyright (c) Greenleaf Software, Inc. 1994
|
|
// All Rights Reserved
|
|
//
|
|
// CONTENTS
|
|
//
|
|
// newALEntry()
|
|
// deleteALEntry()
|
|
// ALEntryDuplicate()
|
|
// ALEntryGetNextEntry()
|
|
// ALEntrySetMark()
|
|
// ALEntryClearMark()
|
|
// ALEntrySetMarkState()
|
|
// ALEntryGetStorage()
|
|
// ALEntrySetStorage()
|
|
// ALEntrySetComment()
|
|
// ALEntryGetCompressedSize()
|
|
// ALEntryGetCrc32()
|
|
// ALEntryGetMark()
|
|
// ALEntryCompressionRatio()
|
|
// ALEntryGetComment()
|
|
// ALEntryGetCommentVB()
|
|
// ALEntryGetEngine()
|
|
// ALEntrySetEngine()
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This file contains the C/VB translation layer for the ALEntry class.
|
|
// These functions all provide mapping to equivalent member functions
|
|
// or data members in class ALEntry. Since there isn't much code
|
|
// involved in the translation, it is recommended that you look in
|
|
// ARCENTRY.CPP for details on how the ALEntry class really works.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
//
|
|
|
|
#include "arclib.h"
|
|
#pragma hdrstop
|
|
|
|
#include "al.h"
|
|
#include "alcxl.h"
|
|
|
|
//
|
|
// extern "C" hALEntry newALEntry( hALEntryList list,
|
|
// hALStorage storage,
|
|
// hALEngine engine )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// list : A handle for (pointer to) the ALEntryList that is
|
|
// going get this ALEntry.
|
|
//
|
|
// storage : A handle for (pointer to) the storage object that is
|
|
// being described in this ALEntry object.
|
|
//
|
|
// engine : A handle for (pointer to) the compression engine that
|
|
// will be/was used to compress/expand the storage object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// A handle for (pointer to) a freshly constructed ALEntry object. In the
|
|
// case of a really horrible error, this might be a 0.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This C/VB function provides a translation layer so that those two
|
|
// languages can access the C++ constructor ALEntry::ALEntry().
|
|
// For details on what exactly happens in the ALEntry ctor, check out
|
|
// the source module in ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation layer functions, this guy works by simply
|
|
// performing type checking on the arguments (in debug mode), and calling
|
|
// the function. The result is then cast properly and returned to the
|
|
// calling routine.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" hALEntry AL_FUNCTION newALEntry( hALEntryList list,
|
|
hALStorage storage,
|
|
hALEngine engine )
|
|
{
|
|
AL_ASSERT_OBJECT( list, ALEntryList, "newALEntry" );
|
|
AL_ASSERT_OBJECT( storage, ALStorage, "newALEntry" );
|
|
AL_ASSERT_OBJECT( engine, ALCompressionEngine, "newALEntry" );
|
|
return (hALEntry) new ALEntry( *( (ALEntryList *) list ),
|
|
(ALStorage * ) storage,
|
|
(ALCompressionEngine *) engine );
|
|
}
|
|
|
|
//
|
|
// extern "C" void deleteALEntry( hALEntry this_object )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) a valid ALEntry object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// Nothing, this is a destructor.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This C/VB function provides a translation layer so that those two
|
|
// languages can access the C++ destructor ALEntry::~ALEntry().
|
|
// For details on what exactly happens in the ALEntry dtor, check out
|
|
// the source module in ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation layer functions, this guy works by simply
|
|
// performing type checking on the arguments (in debug mode), and calling
|
|
// the function.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" void AL_FUNCTION deleteALEntry( hALEntry entry )
|
|
{
|
|
AL_ASSERT_OBJECT( entry, ALEntry, "deleteALEntry" );
|
|
delete (ALEntry *) entry;
|
|
}
|
|
|
|
//
|
|
// extern "C" int ALEntryDuplicate( hALEntry this_object, hALEntryList list )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// list : A handle for (pointer to) an ALEntryList object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// 1 if the entry is duplicated somewhere in the list, 0 if not.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C and VB to access the
|
|
// C++ member function ALEntry::Duplicate(). For more information on
|
|
// what this member function actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and calls the member function. The return
|
|
// from the member function is passed right back to the calling routine.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" int AL_FUNCTION
|
|
ALEntryDuplicate( hALEntry this_object, hALEntryList list )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntryDuplicate" );
|
|
AL_ASSERT_OBJECT( list, ALEntryList, "ALEntryDuplicate" );
|
|
return ( (ALEntry *) this_object )->Duplicate( * (ALEntryList *) list );
|
|
}
|
|
|
|
|
|
//
|
|
// extern "C" hALEntry ALEntryGetNextEntry( hALEntry this_object )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// A valid handle for (pointer to) an ALEntry if there are more
|
|
// objects in the list. If not, 0.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C and VB to access the
|
|
// C++ member function ALEntry::GetNextEntry(). For more information on
|
|
// what this member function actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and calls the member function. The return
|
|
// from the member function is passed right back to the calling routine
|
|
// after being cast to the appropriate C/VB type.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" hALEntry AL_FUNCTION ALEntryGetNextEntry( hALEntry this_object )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntryGetNextEntry" );
|
|
return (hALEntry) ( ((ALEntry *) this_object )->GetNextEntry() );
|
|
}
|
|
|
|
//
|
|
// extern "C" void ALEntrySetMark( hALEntry this_object )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// Nothing.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C and VB to access the
|
|
// C++ member function ALEntry::SetMark(). For more information on
|
|
// what this member function actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and calls the member function.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" void AL_FUNCTION ALEntrySetMark( hALEntry this_object )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntrySetMark" );
|
|
((ALEntry *) this_object )->SetMark();
|
|
}
|
|
|
|
//
|
|
// extern "C" void ALEntryClearMark( hALEntry this_object )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// Nothing.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C and VB to access the
|
|
// C++ member function ALEntry::ClearMark(). For more information on
|
|
// what this member function actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and calls the member function.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" void AL_FUNCTION ALEntryClearMark( hALEntry this_object )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntryClearMark" );
|
|
((ALEntry *) this_object )->ClearMark();
|
|
}
|
|
|
|
//
|
|
// extern "C" void ALEntrySetMarkState( hALEntry this_object )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// Nothing.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C and VB to access the
|
|
// C++ member function ALEntry::SetMarkState(). For more information on
|
|
// what this member function actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and calls the member function.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" void AL_FUNCTION ALEntrySetMarkState( hALEntry this_object,
|
|
short int new_state )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntrySetMarkState" );
|
|
((ALEntry *) this_object )->SetMarkState( new_state );
|
|
}
|
|
|
|
//
|
|
// extern "C" hALStorage ALEntryGetStorage( hALEntry this_object )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// A valid handle for (pointer to) an ALStorage object. It is possible
|
|
// to get a return value of 0, since an ALEntry is not required to have
|
|
// a valid ALStorage object attached to it.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C and VB to access the
|
|
// C++ data member ALEntry::mpStorageObject. For more information on
|
|
// what this data member actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and gets the data member. The data member
|
|
// is passed right back to the calling routine after being cast to the
|
|
// appropriate C/VB type.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" hALStorage AL_FUNCTION ALEntryGetStorage( hALEntry this_object )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntryGetStorage" );
|
|
return (hALStorage) ( (ALEntry *) this_object )->mpStorageObject;
|
|
}
|
|
|
|
//
|
|
// extern "C" void ALEntrySetStorage( hALEntry this_object,
|
|
// hALStorage storage )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// storage : A handle for (pointer to) an ALStorage object that
|
|
// will now be attached to the ALEntry object. Note
|
|
// that a value of 0 is acceptable.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// Nothing.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C and VB to access the
|
|
// C++ data member ALEntry::mpStorageObject. For more information on
|
|
// what this data member actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and accesses the data member.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" void AL_FUNCTION ALEntrySetStorage( hALEntry this_object,
|
|
hALStorage storage )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntrySetStorage" );
|
|
if ( storage != 0 )
|
|
AL_ASSERT_OBJECT( storage, ALStorage, "ALEntrySetStorage" );
|
|
( (ALEntry *) this_object )->mpStorageObject = (ALStorage *) storage;
|
|
}
|
|
|
|
//
|
|
// extern "C" int ALEntrySetComment( hALEntry this_object, char *comment )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// comment : A pointer to a character string that is going to be
|
|
// copied into the ALEntry object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// AL_SUCCESS if things went okay, or a code < AL_SUCCESS if not.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C and VB to access the
|
|
// C++ data member ALEntry::mpStorageObject. For more information on
|
|
// what this data member actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and accesses the data member.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" int AL_FUNCTION
|
|
ALEntrySetComment( hALEntry this_object, char *comment )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntrySetComment" );
|
|
if ( comment == 0 )
|
|
comment = "";
|
|
return ( (ALEntry *) this_object )->SetComment( comment );
|
|
}
|
|
|
|
//
|
|
// extern "C" long ALEntryGetCompressedSize( hALEntry this_object )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// A long value, indicating the compressed size. Note that this information
|
|
// will only be available after reading a directory, or performing an
|
|
// operation that compresses the file.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C and VB to access the
|
|
// C++ member ALEntry::GetCompressedSize. For more information on
|
|
// what this member function actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and calls the member function. The return data
|
|
// from the member function is passed back directly to the calling module.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" long AL_FUNCTION ALEntryGetCompressedSize( hALEntry this_object )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntryGetCompressedSize" );
|
|
return ( (ALEntry *) this_object )->GetCompressedSize();
|
|
}
|
|
|
|
//
|
|
// extern "C" long ALEntryGetCrc32( hALEntry this_object )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// A long value, indicating the object's CRC. Note that this information
|
|
// will only be available after reading a directory, or performing an
|
|
// operation that compresses the file.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C and VB to access the
|
|
// C++ member function ALEntry::GetCrc32(). For more information on
|
|
// what this member function actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and calls the member function. The return data
|
|
// from the member function is passed back directly to the calling module.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" long AL_FUNCTION ALEntryGetCrc32( hALEntry this_object )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntryGetCrc32" );
|
|
return ( (ALEntry *) this_object )->GetCrc32();
|
|
}
|
|
|
|
//
|
|
// extern "C" int ALEntryGetMark( hALEntry this_object )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// A 1 or 0, indicating the object's mark state.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C and VB to access the
|
|
// C++ member function ALEntry::GetMark(). For more information on
|
|
// what this member function actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and calls the member function. The return data
|
|
// from the member function is passed back directly to the calling module.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" int AL_FUNCTION ALEntryGetMark( hALEntry this_object )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntryGetMark" );
|
|
return ( (ALEntry *) this_object )->GetMark();
|
|
}
|
|
|
|
//
|
|
// extern "C" int ALEntryCompressionRatio( hALEntry this_object )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// A number usually ranging from 0 to 100. Less than 0 indicates
|
|
// an error.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C and VB to access the
|
|
// C++ member function ALEntry::CompressionRatio(). For more information on
|
|
// what this member function actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and calls the member function. The return data
|
|
// from the member function is passed back directly to the calling module.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" int AL_FUNCTION ALEntryCompressionRatio( hALEntry this_object )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntryCompressionRatio" );
|
|
return ( (ALEntry *) this_object )->CompressionRatio();
|
|
}
|
|
|
|
//
|
|
// extern "C" char *ALEntryGetComment( hALEntry this_object )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// A pointer to a C character string. The pointer is the value of the
|
|
// string pointer embedded in the class object.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C to access the
|
|
// C++ member function ALEntry::GetComment(). For more information on
|
|
// what this member function actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and calls the member function. The return data
|
|
// from the member function is passed back directly to the calling module.
|
|
//
|
|
// C strings aren't happy in VB, so there is a special function just to
|
|
// convert strings to vB format. Don't call this function from
|
|
// Visual Basic, there is an easier way!
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" char *AL_FUNCTION ALEntryGetComment( hALEntry this_object )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntryGetComment" );
|
|
return (char *) ( (ALEntry *) this_object )->GetComment();
|
|
}
|
|
|
|
//
|
|
// extern "C" long ALEntryGetCommentVB( hALEntry this_object )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// A Visual Basic character string. The string is a copy of the
|
|
// string pointer embedded in the class object.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for VB to access the
|
|
// C++ member function ALEntry::GetComment(). For more information on
|
|
// what this member function actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and calls the member function. The return data
|
|
// from the member function is passed back directly to the calling module.
|
|
//
|
|
// C strings aren't happy in VB, so this function converts the C
|
|
// character pointer to a super-special VB string.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
#if defined( AL_BUILDING_DLL ) && defined( AL_WINDOWS_GUI ) && !defined( AL_FLAT_MODEL )
|
|
extern "C" long AL_FUNCTION ALEntryGetCommentVB( hALEntry this_object )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntryGetComment" );
|
|
char _far *p = (char _far *) ( (ALEntry *) this_object )->GetComment();
|
|
return ALCreateVBString( p, (unsigned short int) _fstrlen( p ) );
|
|
}
|
|
#endif
|
|
|
|
//
|
|
// extern "C" hALEngine ALEntryGetEngine( hALEntry this_object )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// A valid handle for (pointer to) an ALCompressionEngine object. It is
|
|
// possible to get a return value of 0, since an ALEntry is not required to
|
|
// have a valid ALCompressionEngine object attached to it.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C and VB to access the
|
|
// C++ data member ALEntry::mpCompressionEngine. For more information on
|
|
// what this data member actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and gets the data member. The data member
|
|
// is passed right back to the calling routine after being cast to the
|
|
// appropriate C/VB type.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" hALEngine AL_FUNCTION ALEntryGetEngine( hALEntry this_object )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntryGetEngine" );
|
|
return (hALEngine) ( (ALEntry *) this_object )->mpCompressionEngine;
|
|
}
|
|
|
|
//
|
|
// extern "C" void ALEntrySetEngine( hALEntry this_object, hALEngine engine )
|
|
//
|
|
// ARGUMENTS:
|
|
//
|
|
// this_object : A handle for (pointer to) an ALEntry object.
|
|
//
|
|
// engine : A handle for (pointer to) an ALcompressionEngine
|
|
// will now be attached to the ALEntry object. Note
|
|
// that a value of 0 is acceptable.
|
|
//
|
|
// RETURNS
|
|
//
|
|
// Nothing.
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// This function provides a translation layer for C and VB to access the
|
|
// C++ data member ALEntry::mpCompressionEngine. For more information on
|
|
// what this data member actually does, see ARCENTRY.CPP.
|
|
//
|
|
// Like most of the translation functions, this routine checks the
|
|
// arguments for correct type (in debug mode), then casts this_object
|
|
// to the desired class, and accesses the data member.
|
|
//
|
|
// REVISION HISTORY
|
|
//
|
|
// May 24, 1994 1.0A : First release
|
|
//
|
|
|
|
extern "C" void AL_FUNCTION ALEntrySetEngine( hALEntry this_object, hALEngine engine )
|
|
{
|
|
AL_ASSERT_OBJECT( this_object, ALEntry, "ALEntrySetEngine" );
|
|
if ( engine != 0 )
|
|
AL_ASSERT_OBJECT( engine, ALCompressionEngine, "ALEntrySetEngine" );
|
|
( (ALEntry *) this_object )->mpCompressionEngine = (ALCompressionEngine *) engine;
|
|
}
|