/* * Trigger an event */ int TriggerEventByID(char *id) { LogDebug(VB_EVENT, "TriggerEventByID(%s)\n", id); if (getFPPmode() == MASTER_MODE) SendEventPacket(id); FPPevent *event = LoadEvent(id); if (!event) { LogWarn(VB_EVENT, "Unable to load event %s\n", id); return 0; } if (event->effect) StartEffect(event->effect, event->startChannel); if (event->script) RunEventScript(event); FreeEvent(event); return 1; }
pid_t HandleChildProcessRequest(STREAM *S) { char *Tempstr=NULL, *Token=NULL, *ptr; pid_t Pid=0; Tempstr=STREAMReadLine(Tempstr,S); if (! Tempstr) return(FALSE); StripTrailingWhitespace(Tempstr); if (Settings.Flags & FLAG_LOG_MORE_VERBOSE) LogToFile(Settings.LogPath, "HANDLE CHROOT REQUEST: %s",Tempstr); ptr=GetToken(Tempstr,"\\S",&Token,0); if (strcmp(Token,"EXEC")==0) Pid=HandleCGIExecRequest(S,ptr); else if (strcmp(Token,"WEBSOCKET")==0) Pid=HandleWebsocketExecRequest(S,ptr); else if (strcmp(Token,"LOG")==0) { LogToFile(Settings.LogPath,ptr); Pid=0; } else if (strcmp(Token,"GETF")==0) Pid=HandleGetFileRequest(S,ptr); else if (strcmp(Token,"POST")==0) Pid=HandlePostFileRequest(S,ptr); else if (strcmp(Token,"GETIP")==0) Pid=HandleResolveIPRequest(S,ptr); else if (strcmp(Token,"REG")==0) Pid=HandleChildRegisterRequest(S,ptr); else if (strcmp(Token,"PROXY")==0) Pid=HandleProxyRequest(S,ptr); else if (strcmp(Token,"MIMEICON")==0) Pid=HandleIconRequest(S, ptr); else if (strcmp(Token,"EVENT")==0) Pid=RunEventScript(S, ptr); STREAMSetValue(S,"HelperType", Token); STREAMFlush(S); DestroyString(Tempstr); DestroyString(Token); return(Pid); }