// $Source: /usr/local/SimSoft/Sfx3D/src/gsl/realzeit.h,v $
// $Revision: 1.3 $
// $Author: baum $
// $Date: 2001/12/06 13:26:51 $
//
// Login name of the user who locked the revision
// $Locker:  $
// Tag name used to checkout the file
// $Name:  $
// State assigned to revision
// $State: Exp $
//
//
// $Log: realzeit.h,v $
// Revision 1.3  2001/12/06 13:26:51  baum

//
// Revision 1.2  2001/11/29 15:18:09  baum
// -Realzeitsteuerung eingebaut
// -Handsteuerung eingebaut
//

#ifndef _REALZEIT_H
#define _REALZEIT_H     1

#ifdef _REALZEIT_CPP
#  undef _impexp
#  define _impexp __declspec(dllexport)
#elif defined BUILD_MAIN_DLL
#  undef _impexp
#  define _impexp 
#else
#  undef _impexp
#  define _impexp __declspec(dllimport)
#endif

#if defined __GNUC__ || defined __hpux
#  undef _impexp
#  define _impexp
#endif

extern _impexp int rzspar[8];
extern _impexp double rzszeitschwelle;
extern _impexp bool sprachausgabe;

_impexp void     planeein  (double zeit, int typ, 
                            int info1 = 0, int info2 = 0, int info3 = 0);
_impexp void     planeein  (const SimTime& zeit, int typ, 
                            int info1 = 0, int info2 = 0, int info3 = 0);
_impexp void     planedelta (double zeit, int typ, 
                             int info1 = 0, int info2 = 0, int info3 = 0);
_impexp void     planedelta (const SimTime& zeit, int typ, 
                             int info1 = 0, int info2 = 0, int info3 = 0);
_impexp void     planesofort(int typ,
                             int info1 = 0, int info2 = 0, int info3 = 0);
			     
_impexp void RzsInit   ();
_impexp void RzsSenden (int  BausteinNr,    int  ETyp, int  Parameter);
_impexp int  RzsLesen  (int *VonBausteinNr, int *ETyp, int *Parameter);
_impexp void RzsExit   ();
_impexp bool waslos    ();
_impexp void rzsprint();

_impexp bool waslos    ();


_impexp void HlaInit (struct Tcl_Interp* interp,const char* fedName, const char* fExecName, double lookAhaed, double tickMin, double tickMax, const char* fedFileName, const char* pClass, DynArray<char> &pParList, const char* sClass, DynArray<char> &sParList);
_impexp void HlaExit   ();

_impexp void HLA_SendInteractionWithClassAndParName (double EreignisZeit, int ETyp, int BausteinNr, int ArbPlNr, int Menge, const char* className, const char* parName);
_impexp void HLA_SendInteractionMessageWithClassAndParName (const char* iaMessage, const char* className, const char* parName);
_impexp const char* HLA_GetReceivedInteraction (); 
_impexp void HLA_PublishObject (const char* className, int bstNr, DynArray<char> &attribs);
_impexp void HLA_SubscribeObject (const char* className, DynArray<char> &attribs);


#endif /* _REALZEIT_H */
