void KprMessageResumed(KprMessage self) { if (!self->response.callback) { KprMessageTransform(self, gShell->the); KprMessageComplete(self); } }
void KprProxyServiceInvoke(KprService service UNUSED, KprMessage message) { if (KprMessageContinue(message)) { SInt32 index = FskStrToL(message->parts.name, NULL, 16); KprProxyServiceVM vm = KprProxyServiceVMFind(index); if (vm) { KprProxyServiceInstance instance = KprProxyServiceVMGetRefcon(vm); KprProxyServiceMachineInvoke(KprProxyServiceVMGetMachine(vm), &instance->slot, message); if (!message->response.callback) KprMessageComplete(message); } else { message->error = kFskErrNotFound; message->status = 404; KprMessageComplete(message); } } }
void KprMessageResume(KprMessage self) { FskInstrumentedItemSendMessageDebug(self, kprInstrumentedMessageResume, self); if (self->response.dispose) (*self->response.dispose)(self->response.target); self->response.callback = NULL; self->response.dispose = NULL; self->response.target = NULL; self->usage--; // response KprMessageTransform(self, gShell->the); KprMessageComplete(self); }
void KprXKPRServiceInvoke(KprService self UNUSED, KprMessage message) { char* authority = message->parts.authority; UInt32 authorityLength = message->parts.authorityLength; message->usage--; // event queue if (!FskStrCompareWithLength(authority, "shell", authorityLength)) KprContextInvoke(gShell, message); else { KprContentLink link = gShell->applicationChain.first; while (link) { KprApplication application = (KprApplication)link->content; if (application->id && (!FskStrCompareWithLength(authority, application->id, authorityLength))) { KprContextInvoke(application, message); break; } link = link->next; } } if (!message->response.callback) { KprMessageTransform(message, gShell->the); KprMessageComplete(message); } }
void KprServiceInvoke(KprService self UNUSED, KprMessage message) { message->error = kFskErrUnimplemented; KprMessageComplete(message); }