/*---------------------------------------------------------------------------*/
/* Convert.h : Convert Id <-> string (mainly usefull for editor)*/
/* creation  : 17/01/1997  (Olivier Couvreur)*/
/* modify    : 29/01/1997  (Fabien Morales)   Vertex param*/
/* modify    : 31/01/1997  (Olivier Couvreur) Lint verification + tdstInfoParamTableEntry_ struct*/
/* modify    : 04/02/1997  (Olivier Couvreur) Lint 0 Warnings*/
/* modify    : 05/02/1997  (Fabien Morales) add special param defines*/
/* modify    : 12/02/1997  (Fabien Morales) Module & DsgVarId param types*/
/* modify    : 18/02/1997  (Olivier Couvreur) Function List param types*/
/* modify    : 21/02/1997  (Olivier Couvreur) new param types for editor*/
/* modify    : 25/03/1997  (Olivier Couvreur) ACTIVE_EDITOR support*/
/* modify    : 27/05/1997  (Olivier Couvreur) ZDD + ZDE stuff*/
/* modify    : 26/06/1997  (Olivier Couvreur) function pointers for operators*/
/*---------------------------------------------------------------------------*/
 
#if !defined(__CONVERT_H__)
#define __CONVERT_H__
 
#include "..\AIBase\Specif\AIOption.h"
#include "TypePtr.h"
 
#if defined(U64)
#include "EnumKey.h"
#include "EnumCond.h"
#include "EnumFunc.h"
#include "EnumOper.h"
#include "EnumProc.h"
#include "EnumAct.h"
#include "EnumFild.h"
#include "EnumVar.h"
#endif /* U64 */
 
 
#include "ConvCst.h"
 
#include "ConvKey.h"
#include "ConvCond.h"
#include "ConvFunc.h"
#include "ConvOper.h"
#include "ConvProc.h"
#include "ConvAct.h"
#include "ConvFild.h"
#include "ConvVar.h"
 
 
 
/**************************************/
#if !defined(CPA_EXPORT)
#if defined(CPA_WANTS_IMPORT)
#define CPA_EXPORT __declspec(dllimport)
#elif defined(CPA_WANTS_EXPORT)
#define CPA_EXPORT __declspec(dllexport)
#else
#define CPA_EXPORT
#endif /*CPA_WANTS_IMPORT || CPA_WANTS_EXPORT*/
#endif /*CPA_EXPORT*/
/**************************************/
#undef extern
#define EXTERN_AI_DLL extern
 
/************************************************************************************************************************/
 
#if !defined(OPTIMIZED_COMMAND)
EXTERN_AI_DLL CPA_EXPORT char *fn_szGetAutorizedTypeParam(void);
EXTERN_AI_DLL CPA_EXPORT unsigned char fn_ucCheckTypeParam(char *szTypeParam);
#endif /* OPTIMIZED_COMMAND*/
 
#if defined(ACTIVE_EDITOR)
EXTERN_AI_DLL CPA_EXPORT ACP_tdxBool fn_bIsCompatibleTypeForAffect(char c1,char c2);
EXTERN_AI_DLL CPA_EXPORT ACP_tdxBool fn_bIsCompatibleType(char c1,char c2);
EXTERN_AI_DLL CPA_EXPORT ACP_tdxBool fn_bIsCompatibleStringType(char *szType1,char *szType2);
EXTERN_AI_DLL CPA_EXPORT ACP_tdxBool fn_bIsCompatibleStringTypeForAffect(char *szType1,char *szType2);
 
/*EXTERN_AI_DLL CPA_EXPORT char fn_cGetCompatibleType(char c1,char c2);*/
/*EXTERN_AI_DLL CPA_EXPORT char *fn_szGetCompatibleStringType(char *szType1,char *szType2);*/
/*EXTERN_AI_DLL CPA_EXPORT char *fn_szFindStringTypeFromVariableType(enum tdeVariableType_ eType);*/
EXTERN_AI_DLL CPA_EXPORT ACP_tdxBool IsADDRType(char cType);
EXTERN_AI_DLL CPA_EXPORT char fn_cConvertToADDRType(char cType);
EXTERN_AI_DLL CPA_EXPORT char fn_cConvertFromADDRType(char cType);
#endif /* ACTIVE_EDITOR*/
 
/**********************************************************************************************************/
/* Nb Entries in action table*/
#if defined(ACTIVE_EDITOR)
EXTERN_AI_DLL CPA_EXPORT unsigned char fn_ucGetDefaultActionTableNbEntries();
EXTERN_AI_DLL CPA_EXPORT unsigned char fn_ucGetMinActionTableNbEntries();
EXTERN_AI_DLL CPA_EXPORT unsigned char fn_ucGetMaxActionTableNbEntries();
#endif /* ACTIVE_EDITOR*/
/**********************************************************************************************************/
 
EXTERN_AI_DLL CPA_EXPORT void fn_vReSetStopAIEngineFlag(); /*** DR ***/
 
 
/**********************************************************************************************************/
/* To generate the multilanguage file very soon used by XB */
#if defined(ACTIVE_EDITOR)
#define AI_MULTI_LANGUAGE_SCRIPT "AILANGUE.TXT"
 
#define AI_ALL_METAACTIONS		"CreateAllMetaActions"
#define AI_ONE_METAACTION		"CreateOneMetaAction"
 
#define AI_ALL_PROCEDURES		"CreateAllProcedures"
#define AI_ONE_PROCEDURE		"CreateOneProcedure"
 
#define AI_ALL_FUNCTIONS		"CreateAllFunctions"
#define AI_ONE_FUNCTION			"CreateOneFunction"
 
#define AI_ALL_CONDITIONS		"CreateAllConditions"
#define AI_ONE_CONDITION		"CreateOneCondition"
 
#define AI_ALL_KEYWORDS			"CreateAllKeyWords"
#define AI_ONE_KEYWORD			"CreateOneKeyWord"
 
#define AI_ALL_FIELDS			"CreateAllFields"
#define AI_ONE_FIELD			"CreateOneField"
 
#define AI_ALL_DSGVAR_TYPES		"CreateAllDsgVarTypes"
#define AI_ONE_DSGVAR_TYPE		"CreateOneDsgVarType"
 
#define AI_ALL_DSGVAR_INIT_TYPES "CreateAllDsgVarInitTypes"
#define AI_ONE_DSGVAR_INIT_TYPE	 "CreateOneDsgVarInitType"
 
#define AI_ALL_DSGVAR_SAVE_TYPES "CreateAllDsgVarSaveTypes"
#define AI_ONE_DSGVAR_SAVE_TYPE	 "CreateOneDsgVarSaveType"
 
#define AI_FRENCH				"French"
#define AI_ENGLISH				"English"
 
EXTERN_AI_DLL CPA_EXPORT void fn_vWriteAILangue();
#endif /*ACTIVE_EDITOR*/
/**********************************************************************************************************/
 
#undef EXTERN_AI_DLL
 
#endif  /* __CONVERT_H__*/
