hsqml-0.1.0: cbits/HsQMLClass.h
#ifndef HSQML_CLASS_H
#define HSQML_CLASS_H
#include <QObject>
#include <QAtomicInt>
#include "hsqml.h"
enum MDFields {
MD_CLASS_NAME = 1,
MD_METHOD_COUNT = 4,
MD_PROPERTY_COUNT = 6,
};
class HsQMLClass
{
public:
HsQMLClass(
unsigned int*, char*, HsQMLUniformFunc*, HsQMLUniformFunc*);
~HsQMLClass();
const char* name();
const HsQMLUniformFunc* methods();
const HsQMLUniformFunc* properties();
enum RefSrc {Handle, ObjProxy};
void ref(RefSrc);
void deref(RefSrc);
private:
QAtomicInt mRefCount;
unsigned int* mMetaData;
char* mMetaStrData;
HsQMLUniformFunc* mMethods;
HsQMLUniformFunc* mProperties;
public:
const int mMethodCount;
const int mPropertyCount;
const QMetaObject mMetaObject;
};
#endif /*HSQML_CLASS_H*/