123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #include "KSGSRückruf.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
- KSGSRückrufInstanz::KSGSRückrufInstanz( KSGScriptObj *obj )
- : KSGSFunktionInstanz(new RCArray< KSGSBefehl >(), KSGS_VOID, obj, 0 )
- {
- parameter = 0;
- }
- // Destruktor
- KSGSRückrufInstanz::~KSGSRückrufInstanz()
- {
- if( parameter )
- parameter->release();
- }
- // nicht constant
- void KSGSRückrufInstanz::setParameter( Array< KSGSVariableDef* > *zDef, RCArray< KSGSVariable > *vars )
- {
- if( parameter )
- parameter->release();
- parameter = vars;
- }
- KSGSVariable *KSGSRückrufInstanz::startFunktion()
- {
- return obj->rückruf( parameter ? parameter->getThis() : new RCArray< KSGSVariable >() );
- }
- // Reference Counting
- KSGSFunktionInstanz *KSGSRückrufInstanz::release()
- {
- ref--;
- if( !ref )
- delete this;
- return 0;
- }
- // Inhalt der KSGSRückrufFunktion Klasse aus KSGSRückruf.h
- // Konstruktor
- KSGSRückrufFunktion::KSGSRückrufFunktion()
- : KSGSFunktion( 0, 0, KSGS_VOID )
- {
- }
- // nicht constant
- KSGSFunktionInstanz *KSGSRückrufFunktion::erstellInstanz( KSGScriptObj *obj, KSGSKlasseInstanz *klasse, RCArray< KSGSVariable > *params )
- {
- KSGSRückrufInstanz *inst = new KSGSRückrufInstanz( obj );
- if( params )
- inst->setParameter( 0, params );
- return inst;
- }
- // Reference Counting
- KSGSFunktion *KSGSRückrufFunktion::release()
- {
- ref--;
- if( !ref )
- delete this;
- return 0;
- }
|