MCPcopy Create free account
hub / github.com/PlotJuggler/PlotJuggler / onValidate

Method onValidate

pj_runtime/src/DataProcessorsRuntimeHost.cpp:183–211  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

181}
182
183bool DataProcessorsRuntimeHost::onValidate(
184 void* ctx, PJ_string_view_t kind, PJ_string_view_t language, PJ_string_view_t script, PJ_string_view_t params_json,
185 PJ_error_t* out_error) noexcept {
186 auto* self = static_cast<DataProcessorsRuntimeHost*>(ctx);
187 if (self == nullptr) {
188 return false;
189 }
190 try {
191 if (!parseKind(sdk::toStringView(kind))) {
192 sdk::fillError(
193 out_error, kErrorRejected, kDomain,
194 "unknown data processor kind '" + std::string(sdk::toStringView(kind)) + "'");
195 return false;
196 }
197 auto status = self->service_.validateScript(
198 sdk::toStringView(script), sdk::toStringView(language), sdk::toStringView(params_json));
199 if (!status.has_value()) {
200 sdk::fillError(out_error, kErrorRejected, kDomain, status.error());
201 return false;
202 }
203 return true;
204 } catch (const std::exception& e) {
205 sdk::fillError(out_error, kErrorInternal, kDomain, e.what());
206 return false;
207 } catch (...) {
208 sdk::fillError(out_error, kErrorInternal, kDomain, "unknown error validating script");
209 return false;
210 }
211}
212
213} // namespace PJ

Callers

nothing calls this directly

Calls 3

parseKindFunction · 0.85
validateScriptMethod · 0.80
toStringViewFunction · 0.50

Tested by

no test coverage detected