Lines Matching refs:trigger

33 static int DoTriggerExecute_(const TriggerNode *trigger, const char *content, uint32_t size)

35 PARAM_CHECK(trigger != NULL, return -1, "Invalid trigger");
36 PARAM_LOGV("Do execute trigger %s type: %d", GetTriggerName(trigger), trigger->type);
37 PARAM_CHECK(trigger->type <= TRIGGER_UNKNOW, return -1, "Invalid trigger type %d", trigger->type);
38 CommandNode *cmd = GetNextCmdNode((JobNode *)trigger, NULL);
43 cmd = GetNextCmdNode((JobNode *)trigger, cmd);
48 static int DoTriggerCheckResult(TriggerNode *trigger, const char *content, uint32_t size)
52 if (TRIGGER_IN_QUEUE(trigger)) {
53 PARAM_LOGI("DoTiggerExecute trigger %s has been waiting execute", GetTriggerName(trigger));
56 TRIGGER_SET_FLAG(trigger, TRIGGER_FLAGS_QUEUE);
57 PARAM_LOGV("Add trigger %s to execute queue", GetTriggerName(trigger));
58 ExecuteQueuePush(&g_triggerWorkSpace, trigger);
62 static int ExecuteTriggerImmediately(TriggerNode *trigger, const char *content, uint32_t size)
64 PARAM_CHECK(trigger != NULL, return -1, "Invalid trigger");
65 PARAM_LOGV("ExecuteTriggerImmediately trigger %s", GetTriggerName(trigger));
66 TriggerHeader *triggerHead = GetTriggerHeader(&g_triggerWorkSpace, trigger->type);
68 triggerHead->executeTrigger(trigger, content, size);
69 TRIGGER_CLEAR_FLAG(trigger, TRIGGER_FLAGS_QUEUE);
71 if (TRIGGER_TEST_FLAG(trigger, TRIGGER_FLAGS_ONCE)) {
72 FreeTrigger(&g_triggerWorkSpace, trigger);
78 static void StartTriggerExecute_(TriggerNode *trigger, const char *content, uint32_t size)
80 TriggerHeader *triggerHead = GetTriggerHeader(&g_triggerWorkSpace, trigger->type);
82 PARAM_LOGV("StartTriggerExecute_ trigger %s flags:0x%04x",
83 GetTriggerName(trigger), trigger->flags);
84 triggerHead->executeTrigger(trigger, content, size);
85 TRIGGER_CLEAR_FLAG(trigger, TRIGGER_FLAGS_QUEUE);
86 if (TRIGGER_TEST_FLAG(trigger, TRIGGER_FLAGS_SUBTRIGGER)) { // boot && xxx=xxx trigger
87 const char *condition = triggerHead->getCondition(trigger);
90 if (TRIGGER_TEST_FLAG(trigger, TRIGGER_FLAGS_ONCE)) {
91 FreeTrigger(&g_triggerWorkSpace, trigger);
99 TriggerNode *trigger = ExecuteQueuePop(&g_triggerWorkSpace);
101 while (trigger != NULL) {
102 int ret = strcpy_s(triggerName, sizeof(triggerName), GetTriggerName(trigger));
108 StartTriggerExecute_(trigger, NULL, 0);
116 trigger = ExecuteQueuePop(&g_triggerWorkSpace);
236 PARAM_CHECK(workSpace != NULL, return -1, "Failed to create trigger list");
241 PARAM_CHECK(type <= TRIGGER_UNKNOW, return -1, "Failed to get trigger index");
249 JobNode *trigger = UpdateJobTrigger(workSpace, type, condition, name);
250 PARAM_CHECK(trigger != NULL, return -1, "Failed to create trigger %s", name);
268 ret = AddCommand(trigger, (uint32_t)cmdKeyIndex, content, cfgContext);
277 PARAM_CHECK(g_triggerWorkSpace.eventHandle != NULL, return -1, "Invalid trigger data");
360 PARAM_CHECK(g_triggerWorkSpace.eventHandle != NULL, return, "Invalid trigger data");
362 JobNode *trigger = GetTriggerByName(&g_triggerWorkSpace, triggerName);
363 if (trigger != NULL && !TRIGGER_IN_QUEUE((TriggerNode *)trigger)) {
364 PARAM_LOGV("Trigger job %s", trigger->name);
365 TRIGGER_SET_FLAG((TriggerNode *)trigger, TRIGGER_FLAGS_QUEUE);
366 ExecuteQueuePush(&g_triggerWorkSpace, (TriggerNode *)trigger);
368 PARAM_LOGW("Can not find trigger %s", triggerName);
374 PARAM_CHECK(g_triggerWorkSpace.eventHandle != NULL, return, "Invalid trigger data");
376 JobNode *trigger = GetTriggerByName(&g_triggerWorkSpace, triggerName);
377 if (trigger != NULL) {
381 StartTriggerExecute_((TriggerNode *)trigger, NULL, 0);
387 PARAM_CHECK(g_triggerWorkSpace.eventHandle != NULL, return -1, "Invalid trigger data");
391 PARAM_CHECK(type <= TRIGGER_UNKNOW, return -1, "Failed to get trigger index");
395 JobNode *trigger = UpdateJobTrigger(&g_triggerWorkSpace, type, condition, name);
396 PARAM_CHECK(trigger != NULL, return -1, "Failed to create trigger");
401 ret = AddCommand(trigger, (uint32_t)cmdKeyIndex, content, NULL); // use default context