Esempio n. 1
0
void KprMessageResumed(KprMessage self)
{
	if (!self->response.callback) {
        KprMessageTransform(self, gShell->the);
		KprMessageComplete(self);
	}
}
Esempio n. 2
0
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);
		}
	}
}
Esempio n. 3
0
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);
}
Esempio n. 4
0
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);
	}
}
Esempio n. 5
0
void KprServiceInvoke(KprService self UNUSED, KprMessage message)
{
	message->error = kFskErrUnimplemented;
	KprMessageComplete(message);
}