Files
lime/project/include/system/ValuePointer.h
2018-07-18 17:32:51 -07:00

46 lines
805 B
C++

#ifndef LIME_SYSTEM_VALUE_POINTER_H
#define LIME_SYSTEM_VALUE_POINTER_H
#include <system/CFFI.h>
namespace lime {
class ValuePointer {
public:
ValuePointer (vobj* handle);
ValuePointer (vdynamic* handle);
ValuePointer (vclosure* handle);
ValuePointer (value handle);
~ValuePointer ();
void* Call ();
void* Call (void* arg0);
void* Call (void* arg0, void* arg1);
void* Call (void* arg0, void* arg1, void* arg2);
void* Call (void* arg0, void* arg1, void* arg2, void* arg3);
void* Call (void* arg0, void* arg1, void* arg2, void* arg3, void* arg4);
void* Get () const;
bool IsCFFIValue ();
bool IsHLValue ();
void Set (vobj* handle);
void Set (value handle);
private:
gcroot cffiRoot;
value* cffiValue;
vobj* hlValue;
};
}
#endif