/*
 * ARCLIB.H
 *
 *  Master header file for ArchiveLib 1.0
 *
 *  Copyright (c) 1994 Greenleaf Software, Inc.
 *  All Rights Reserved
 *
 * DESCRIPTION
 *
 * This is the master header file for Archive Library.  It will include
 * all header files that define base classes, but no derived classes.  For
 * people who don't want the massive flood of include files provided by
 * AL.H, this is the answer.  However, you will have to include some
 * other headers, leading to some extra work.
 *
 * This file must be included by any module that is either a part of
 * Archive Library, or part of a project that uses archive library.
 *
 * Defines that you should be creating in your program when using this
 * product include:
 *
 *  #define AL_USING_DLL       Every module calling the AL DLL *must*
 *                              have this defined
 *  #define NDEBUG             Turns off assertions.  Note that assertions
 *                             defined in the debug version of the library
 *                             won't go away just because you define this
 *  #define _DEBUG             Turn this on to turn on some of the debugging
 *                             features of the library.  Doesn't do much
 *                             at this time.
 *
 *  We set up the rest of the definitions in ALDEFS.H, based on compiler
 *  settings that can be detected using your compiler's predefined
 *  macros.
 * 
 * REVISION HISTORY
 *
 *  May 26, 1994  1.0A  : First release
 *
 */

#ifndef _ARCLIB_H
#define _ARCLIB_H

/*
 * Want to customize the workings of our library?  Just define AL_CUSTOM,
 * and then create your own personal version of ALCUSTOM.H. (No, we don't
 * ship a copy of this header file with the library, it is for you to
 * define.  This is a really good way to use products like MEMCHECK or
 * SmartHeap that want to insert an included file in every one of
 * our source files.
 */

#if defined( AL_CUSTOM )
#include "alcustom.h"
#endif

#if defined( __cplusplus )

/* All these includes needed for various library features */

#include "iostream.h"
#include "string.h"

#include "aldefs.h"
#include "_debug.h"

/* Base classes */

#include "status.h"
#include "objname.h"
#include "storage.h"
#include "cmpengn.h"
#include "monitor.h"
#include "arcentry.h"
#include "cmpobj.h"
#include "archiveb.h"

#else  /* #if defined( __cplusplus )                 */

#include "alcxl.h"  /* Included only if we are compiling C code, not C++ */

#endif /* #if defined( __cplusplus ) ... #else       */

#endif /* ARCLIB_H */
