//
// CXL_FILE.CPP
//
//  Source file for ArchiveLib 1.0
//
//  Copyright (c) Greenleaf Software, Inc. 1994
//  All Rights Reserved
//
// CONTENTS
//
//  newALFile()
//
// DESCRIPTION
//
//  This file contains the one and only source file to support
//  the C and VB translation layer for ALFile objects.  Everything 
//  else you might want to do with a file after constructing it is done 
//  via the base class.
//
//  If you want to learn more about ALFile, (and who wouldn't) look in
//  FILESTOR.CPP for the juicy C++ code.
//
// REVISION HISTORY
//
//  May 24, 1994  1.0A  : First release
//
//

#include "arclib.h"
#pragma hdrstop

#include "al.h"
#include "alcxl.h"

//
// extern "C" hALStorage newALFile( char *file_name )
//
// ARGUMENTS:
//
//  file_name  :  The name of the file to construct.
//
// RETURNS
//
//  A handle for (pointer to) a newly constructed ALFile object.  It is
//  possible to get a 0 back if the file could not be constructed for
//  some reason.
//
// DESCRIPTION
//
//  This is the C and VB translation function that provides access to
//  ALFile::ALFile().  It calls the constructor, then casts the result
//  to a type C will be happy with and returns it.
//
// REVISION HISTORY
//
//   May 24, 1994  1.0A  : First release
//

extern "C" hALStorage AL_FUNCTION newALFile( char AL_DLL_FAR *file_name )
{
    return (hALStorage) new ALFile( file_name );
}