/*****************************************************************************
 * $LastChangedDate: 2011-04-09 21:58:06 -0400 (Sat, 09 Apr 2011) $
 * @file
 * @author  Jim E. Brooks  http://www.palomino3d.org
 * @brief   glue module configuration.
 * @remarks glue's configuration is degenerate from the other modules.
 *//*
 * LEGAL:   COPYRIGHT (C) 2008 JIM E. BROOKS
 *          THIS SOURCE CODE IS RELEASED UNDER THE TERMS
 *          OF THE GNU GENERAL PUBLIC LICENSE VERSION 2 (GPL 2).
 *****************************************************************************/

#ifndef GLUE_CONF_HH
#define GLUE_CONF_HH 1

#define GLUE_CONF glue::GET_CONF()

namespace glue {

const string& GetHomeDirectoryName( void );
const string& GetConfDirectoryName( void );

////////////////////////////////////////////////////////////////////////////////
/// @brief glue module configuration.
///
/// glue module has a special Conf class (it doesn't read text conf).
///
class Conf
{
public:
            Conf( void );
    void    Init( const base::InitArgs& initArgs );

private:
    void    ParseCmdlineArgs( int argc, char** argv );

public:
    bool            mValid;             ///< true if Conf was init/read
    string          mProgramName;       ///< argv[0]

    // Cmd-line args:
    bool            mFastMode;          ///< run faster on slow computers at expense of rendering quality
#if COMPILE_SDL
    bool            mEnableSDL;
#endif
};
#include "base/conf_template_end.hh"  // glue can use this

} // namespace glue

#endif // GLUE_CONF_HH
