Files
lime/project/include/system/ValuePointer.h
2018-06-09 08:28:49 -07:00

47 lines
843 B
C++

#ifndef LIME_SYSTEM_VALUE_POINTER_H
#define LIME_SYSTEM_VALUE_POINTER_H
#include <hl.h>
#include <hx/CFFIPrime.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