xsResult = xsCall1(xsGet(xsGlobal, xsID("JSON")), xsID("stringify"), xsResult); message->response.body = FskStrDoCopy(xsToString(xsResult)); message->response.size = FskStrLen(message->response.body); KprMessageTransform(message, gFILEService.machine); } xsCatch { } } } xsEndHostSandboxCode(); } else if (kFskDirectoryItemIsFile == info.filetype) { KprStream stream = message->stream; FskInt64 size; bailIfError(FskFileOpen(path, kFskFilePermissionReadOnly, &fref)); bailIfError(FskFileGetSize(fref, &size)); bailIfError(FskMemPtrNew(size, &message->response.body)); bailIfError(FskFileRead(fref, size, message->response.body, &message->response.size)); if (stream && stream->dispatch->receive) { (*stream->dispatch->receive)(stream, message, gFILEService.machine, message->response.body, message->response.size); FskMemPtrDisposeAt(&message->response.body); message->response.size = 0; } KprMessageTransform(message, gFILEService.machine); } else err = kFskErrUnimplemented; } else err = kFskErrUnimplemented; bail:
FskErr KprSoundLoadSpoolerGetSize(FskMediaSpooler spooler, FskInt64 *size) { KprSoundLoadSpoolerRefcon refcon = spooler->refcon; return FskFileGetSize(refcon->fref, size); }