void KPR_message_setResponseHeader(xsMachine* the) { KprMessage self = kprGetHostData(xsThis, this, message); xsStringValue name = xsToString(xsArg(0)); xsStringValue value = xsToString(xsArg(1)); (void)KprMessageSetResponseHeader(self, name, value); }
void KPR_message_getResponseHeader(xsMachine* the) { KprMessage self = kprGetHostData(xsThis, this, message); xsStringValue result = KprMessageGetResponseHeader(self, xsToString(xsArg(0))); if (result) xsResult = xsString(result); }
void KPR_application_purge(xsMachine *the) { KprApplication self = kprGetHostData(xsThis, this, application); FskInstrumentedItemSendMessageNormal(self, kprInstrumentedContentBeginCollect, self); xsCollectGarbage(); FskInstrumentedItemSendMessageNormal(self, kprInstrumentedContentEndCollect, self); KprContextPurge(self, false); }
static void KPR_Message_invoke_executor(xsMachine* the) { KprMessage message; KprPromiseTarget target; xsResult = xsGet(xsFunction, xsID_message); message = kprGetHostData(xsResult, this, message); xsThrowIfFskErr(KprPromiseTargetNew(&target, the, &xsArg(0), &xsArg(1))); xsThrowIfFskErr(KprMessageInvoke(message, KprPromiseTargetComplete, KprPromiseTargetDispose, target)); }
void KPR_message_invoke(xsMachine* the) { KprMessage self = kprGetHostData(xsThis, this, message); xsVars(1); xsVar(0) = xsNewHostFunction(KPR_Message_invoke_executor, 2); xsSet(xsVar(0), xsID_message, xsThis); if (xsToInteger(xsArgc) > 0) KprMessageScriptTargetSet(self, the, &xsArg(0)); xsResult = xsNew1(xsGlobal, xsID_Promise, xsVar(0)); }
void KPR_Message_notify(xsMachine* the) { KprMessage self = kprGetHostData(xsArg(0), this, message); xsThrowIfFskErr(KprMessageNotify(self)); }
void KPR_message_set_timeout(xsMachine *the) { KprMessage self = kprGetHostData(xsThis, this, message); UInt32 timeout = xsToInteger(xsArg(0)); KprMessageSetTimeout(self, timeout); }
void KPR_message_get_timeout(xsMachine *the) { KprMessage self = kprGetHostData(xsThis, this, message); xsResult = xsInteger(self->timeout); }
void KPR_message_cancel(xsMachine* the) { KprMessage self = kprGetHostData(xsThis, this, message); KprMessageCancel(self); }
void KPR_message_clearResponseHeader(xsMachine* the) { KprMessage self = kprGetHostData(xsThis, this, message); KprMessageClearResponseHeader(self, xsToString(xsArg(0))); }