1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #include "KSGSCallback.h"
- #include "../Klassen/KSGSTyp.h"
- #include "../Main/KSGScriptObj.h"
- #include "../Befehl/KSGSKlasse.h"
- using namespace KSGScript;
- // Inhalt der KSGSRückrufFInstanz Klasse aus KSGSRückruf.h
- // Konstruktor
- KSGSCallbackInstanz::KSGSCallbackInstanz( KSGScriptObj *obj )
- : KSGSFunktionInstanz( new RCArray< KSGSBefehl >(), KSGS_VOID, obj, 0 )
- {
- parameter = 0;
- }
- // Destruktor
- KSGSCallbackInstanz::~KSGSCallbackInstanz()
- {
- if( parameter )
- parameter->release();
- }
- // nicht constant
- void KSGSCallbackInstanz::setParameter( Array< KSGSVariableDef * > *zDef, RCArray< KSGSVariable > *vars )
- {
- if( parameter )
- parameter->release();
- parameter = vars;
- }
- KSGSVariable *KSGSCallbackInstanz::startFunktion()
- {
- return obj->callback( parameter ? dynamic_cast<RCArray< KSGSVariable >*>( parameter->getThis() ) : new RCArray< KSGSVariable >() );
- }
- // Inhalt der KSGSRückrufFunktion Klasse aus KSGSRückruf.h
- // Konstruktor
- KSGSCallbackFunktion::KSGSCallbackFunktion()
- : KSGSFunktion( 0, 0, KSGS_VOID )
- {}
- // nicht constant
- KSGSFunktionInstanz *KSGSCallbackFunktion::erstellInstanz( KSGScriptObj *obj, KSGSVariable *klasse, RCArray< KSGSVariable > *params )
- {
- KSGSCallbackInstanz *inst = new KSGSCallbackInstanz( obj );
- if( params )
- inst->setParameter( 0, params );
- return inst;
- }
|