/*------------------------------------------------------------------------------
	FILE	:	Register.h
	CREATED	:	98/05/19
	AUTHOR	:	Catalin Cocos
	CONTENTS:	callback registering structures & functions
------------------------------------------------------------------------------*/

#ifndef __LDT_REGISTER__
#define __LDT_REGISTER__

#include "Link.h"
#include "Parser.h"
#include "DynArray.h"


/* Constants
--------------*/

#define LDT_REG_SECTION		0	/* registers section callbacks */
#define LDT_REG_FILE		1	/* registers file callbacks */


/* Globals
-------------*/

extern LDT_tdst_DSArray g_ArSectionCallbacks;	/* the section callbacks */
extern LDT_tdst_DSArray g_ArFileCallbacks;		/* the file callbacks */
extern LDT_tdst_DSArray g_ArSolvers;            /* the post-process solvers */
extern LDT_tdst_DSArray g_ArPaths;	            /* the paths */
extern LDT_tdst_DSArray g_ArPathStrings;		/* the path strings */
extern LDT_tdst_DSArray g_ArBaseDirectories;	/* the base paths */


/* Functions 
-------------*/

int LDT_Compare_CallbackEntries(const void**, const void** );
LDT_tdst_CallbackEntry* GetType( char* szType, int Mode);

/* Types
----------*/

typedef struct LDT_tdst_TypePaths_ LDT_tdst_TypePaths;

struct LDT_tdst_TypePaths_
{
	char* szExtension;
	LDT_tdst_DSArray arPaths;
};

#endif

