|
AngelScript
|
The interface for the generic calling convention.
Public Member Functions | |
Miscellaneous | |
| virtual asIScriptEngine * | GetEngine () const =0 |
| Returns a pointer to the script engine. | |
| virtual int | GetFunctionId () const =0 |
| Returns the function id of the called function. | |
| virtual asIScriptFunction * | GetFunction () const =0 |
| Returns the function that is being called. | |
| virtual asIScriptFunction * | GetFunctionDescriptor () const =0 |
| virtual void * | GetFunctionUserData () const =0 |
| Returns the user data for the called function. | |
Object | |
| virtual void * | GetObject ()=0 |
| Returns the object pointer if this is a class method, or null if it not. | |
| virtual int | GetObjectTypeId () const =0 |
| Returns the type id of the object if this is a class method. | |
Arguments | |
| virtual int | GetArgCount () const =0 |
| Returns the number of arguments. | |
| virtual int | GetArgTypeId (asUINT arg) const =0 |
| Returns the type id of the argument. | |
| virtual asBYTE | GetArgByte (asUINT arg)=0 |
| Returns the value of an 8-bit argument. | |
| virtual asWORD | GetArgWord (asUINT arg)=0 |
| Returns the value of a 16-bit argument. | |
| virtual asDWORD | GetArgDWord (asUINT arg)=0 |
| Returns the value of a 32-bit integer argument. | |
| virtual asQWORD | GetArgQWord (asUINT arg)=0 |
| Returns the value of a 64-bit integer argument. | |
| virtual float | GetArgFloat (asUINT arg)=0 |
| Returns the value of a float argument. | |
| virtual double | GetArgDouble (asUINT arg)=0 |
| Returns the value of a double argument. | |
| virtual void * | GetArgAddress (asUINT arg)=0 |
| Returns the address held in a reference or handle argument. | |
| virtual void * | GetArgObject (asUINT arg)=0 |
| Returns a pointer to the object in a object argument. | |
| virtual void * | GetAddressOfArg (asUINT arg)=0 |
| Returns a pointer to the argument value. | |
Return value | |
| virtual int | GetReturnTypeId () const =0 |
| Gets the type id of the return value. | |
| virtual int | SetReturnByte (asBYTE val)=0 |
| Sets the 8-bit return value. | |
| virtual int | SetReturnWord (asWORD val)=0 |
| Sets the 16-bit return value. | |
| virtual int | SetReturnDWord (asDWORD val)=0 |
| Sets the 32-bit integer return value. | |
| virtual int | SetReturnQWord (asQWORD val)=0 |
| Sets the 64-bit integer return value. | |
| virtual int | SetReturnFloat (float val)=0 |
| Sets the float return value. | |
| virtual int | SetReturnDouble (double val)=0 |
| Sets the double return value. | |
| virtual int | SetReturnAddress (void *addr)=0 |
| Sets the address return value when the return is a reference or handle. | |
| virtual int | SetReturnObject (void *obj)=0 |
| Sets the object return value. | |
| virtual void * | GetAddressOfReturnLocation ()=0 |
| Gets the address to the memory where the return value should be placed. | |
| virtual void* asIScriptGeneric::GetAddressOfArg | ( | asUINT | arg | ) | [pure virtual] |
| [in] | arg | The argument index. |
| virtual void* asIScriptGeneric::GetAddressOfReturnLocation | ( | ) | [pure virtual] |
The memory is not initialized, so if you're going to return a complex type by value, you shouldn't use the assignment operator to initialize it. Instead use the placement new operator to call the type's copy constructor to perform the initialization.
new(gen->GetAddressOfReturnLocation()) std::string(myRetValue);
The placement new operator works for primitive types too, so this method is ideal for writing automatically generated functions that works the same way for all types.
| virtual void* asIScriptGeneric::GetArgAddress | ( | asUINT | arg | ) | [pure virtual] |
| [in] | arg | The argument index. |
Don't release the pointer if this is an object or object handle, the asIScriptGeneric object will do that for you.
| [in] | arg | The argument index. |
| virtual int asIScriptGeneric::GetArgCount | ( | ) | const [pure virtual] |
| virtual double asIScriptGeneric::GetArgDouble | ( | asUINT | arg | ) | [pure virtual] |
| [in] | arg | The argument index. |
| [in] | arg | The argument index. |
| virtual float asIScriptGeneric::GetArgFloat | ( | asUINT | arg | ) | [pure virtual] |
| [in] | arg | The argument index. |
| virtual void* asIScriptGeneric::GetArgObject | ( | asUINT | arg | ) | [pure virtual] |
| [in] | arg | The argument index. |
Don't release the pointer if this is an object handle, the asIScriptGeneric object will do that for you.
| [in] | arg | The argument index. |
| virtual int asIScriptGeneric::GetArgTypeId | ( | asUINT | arg | ) | const [pure virtual] |
| [in] | arg | The argument index. |
| [in] | arg | The argument index. |
| virtual asIScriptEngine* asIScriptGeneric::GetEngine | ( | ) | const [pure virtual] |
| virtual asIScriptFunction* asIScriptGeneric::GetFunction | ( | ) | const [pure virtual] |
| virtual asIScriptFunction* asIScriptGeneric::GetFunctionDescriptor | ( | ) | const [pure virtual] |
| virtual int asIScriptGeneric::GetFunctionId | ( | ) | const [pure virtual] |
| virtual void* asIScriptGeneric::GetFunctionUserData | ( | ) | const [pure virtual] |
| virtual void* asIScriptGeneric::GetObject | ( | ) | [pure virtual] |
| virtual int asIScriptGeneric::GetObjectTypeId | ( | ) | const [pure virtual] |
| virtual int asIScriptGeneric::GetReturnTypeId | ( | ) | const [pure virtual] |
| virtual int asIScriptGeneric::SetReturnAddress | ( | void * | addr | ) | [pure virtual] |
| [in] | addr | The return value, which is an address. |
| asINVALID_TYPE | The return type is not a reference or handle. |
Sets the address return value. If an object handle the application must first increment the reference counter, unless it won't keep a reference itself.
| virtual int asIScriptGeneric::SetReturnByte | ( | asBYTE | val | ) | [pure virtual] |
| [in] | val | The return value. |
| asINVALID_TYPE | The return type is not an 8-bit value. Sets the 1 byte return value. |
| virtual int asIScriptGeneric::SetReturnDouble | ( | double | val | ) | [pure virtual] |
| [in] | val | The return value. |
| asINVALID_TYPE | The return type is not a 64-bit value. Sets the double return value. |
| virtual int asIScriptGeneric::SetReturnDWord | ( | asDWORD | val | ) | [pure virtual] |
| [in] | val | The return value. |
| asINVALID_TYPE | The return type is not a 32-bit value. Sets the 4 byte return value. |
| virtual int asIScriptGeneric::SetReturnFloat | ( | float | val | ) | [pure virtual] |
| [in] | val | The return value. |
| asINVALID_TYPE | The return type is not a 32-bit value. Sets the float return value. |
| virtual int asIScriptGeneric::SetReturnObject | ( | void * | obj | ) | [pure virtual] |
| [in] | obj | A pointer to the object return value. |
| asINVALID_TYPE | The return type is not an object value or handle. |
If the function returns an object, the library will automatically do what is necessary based on how the object was declared, i.e. if the function was registered to return a handle then the library will call the addref behaviour. If it was registered to return an object by value, then the library will make a copy of the object.
| virtual int asIScriptGeneric::SetReturnQWord | ( | asQWORD | val | ) | [pure virtual] |
| [in] | val | The return value. |
| asINVALID_TYPE | The return type is not a 64-bit value. Sets the 8 byte return value. |
| virtual int asIScriptGeneric::SetReturnWord | ( | asWORD | val | ) | [pure virtual] |
| [in] | val | The return value. |
| asINVALID_TYPE | The return type is not a 16-bit value. Sets the 2 byte return value. |