object.h 860 B

1234567891011121314151617181920212223242526
  1. #ifndef AFUN__OBJECT_H_PUBLIC
  2. #define AFUN__OBJECT_H_PUBLIC
  3. #include "tool.h"
  4. typedef struct af_Object af_Object;
  5. typedef struct af_Inherit af_Inherit;
  6. typedef void pValueAPI();
  7. NEW_DLC_SYMBOL(pValueAPI, pAPIFUNC); // TODO-szh 移动到_object.h
  8. #include "env.h"
  9. #include "tool.h"
  10. af_Object *makeObject(char *id, size_t data_size, bool inherit_api, bool allow_iherit, af_Object *belong,
  11. af_Inherit *iherit, af_Environment *env);
  12. void freeObject(af_Object *obj);
  13. af_Object *getBelongObject(af_Object *object, af_Environment *env);
  14. af_Inherit *makeIherit(af_Object *obj);
  15. af_Inherit *freeIherit(af_Inherit *ih);
  16. void freeAllIherit(af_Inherit *ih);
  17. void *findObjectAPI(char *api_name, af_Object *obj);
  18. int addAPIToObject(DLC_SYMBOL(pAPIFUNC) func, char *api_name,
  19. af_Object *obj);
  20. #endif //AFUN__OBJECT_H_PUBLIC