PikaStdDevice_BaseDev.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. #include "PikaStdDevice_BaseDev.h"
  2. #include "BaseObj.h"
  3. #include "PikaObj.h"
  4. #include "dataStrs.h"
  5. #if !(PIKASCRIPT_VERSION_NUM >= PIKASCRIPT_VERSION_TO_NUM(1, 10, 4))
  6. #error "require pikascript kernal version >= v1.10.4"
  7. #endif
  8. PikaEventListener* g_pika_device_event_listener;
  9. void PikaStdDevice_BaseDev_addEventCallBack(PikaObj* self, Arg* eventCallBack) {
  10. #if PIKA_EVENT_ENABLE
  11. obj_setArg(self, "eventCallBack", eventCallBack);
  12. /* init event_listener for the first time */
  13. if (NULL == g_pika_device_event_listener) {
  14. pks_eventLisener_init(&g_pika_device_event_listener);
  15. }
  16. if (PIKA_RES_OK != obj_runNativeMethod(self, "platformGetEventId", NULL)) {
  17. obj_setErrorCode(self, 1);
  18. __platform_printf("Error: Method %s no found.\r\n",
  19. "platformGetEventId");
  20. }
  21. uint32_t eventId = obj_getInt(self, "eventId");
  22. pks_eventLicener_registEvent(g_pika_device_event_listener, eventId, self);
  23. #else
  24. obj_setErrorCode(self, 1);
  25. obj_setSysOut(self, "[error] PIKA_EVENT_ENABLE is disabled.");
  26. #endif
  27. }
  28. void PikaStdDevice_BaseDev_platformGetEventId(PikaObj* self) {
  29. ABSTRACT_METHOD_NEED_OVERRIDE_ERROR();
  30. }