Script.cpp
Go to the documentation of this file.
2 
5 
6 namespace dai {
7 namespace node {
8 
9 Script::Script(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId) : Script(par, nodeId, std::make_unique<Script::Properties>()) {}
10 Script::Script(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId, std::unique_ptr<Properties> props)
11  : NodeCRTP<Node, Script, ScriptProperties>(par, nodeId, std::move(props)),
12  inputs("io", Input(*this, "", Input::Type::SReceiver, {{DatatypeEnum::Buffer, true}})),
13  outputs("io", Output(*this, "", Output::Type::MSender, {{DatatypeEnum::Buffer, true}})) {
14  properties.scriptUri = "";
15  properties.scriptName = "<script>";
16  properties.processor = ProcessorType::LEON_MSS;
17 
18  setInputMapRefs(&inputs);
19  setOutputMapRefs(&outputs);
20 }
21 
22 void Script::setScriptPath(const dai::Path& path, const std::string& name) {
23  properties.scriptUri = assetManager.set("__script", path)->getRelativeUri();
24  scriptPath = path;
25  if(name.empty()) {
27  } else {
28  properties.scriptName = name;
29  }
30 }
31 
32 void Script::setScript(const std::string& script, const std::string& name) {
33  std::vector<std::uint8_t> data{script.begin(), script.end()};
34  properties.scriptUri = assetManager.set("__script", std::move(data))->getRelativeUri();
35  scriptPath = {};
36  if(name.empty()) {
37  properties.scriptName = "<script>";
38  } else {
39  properties.scriptName = name;
40  }
41 }
42 
43 void Script::setScript(const std::vector<std::uint8_t>& data, const std::string& name) {
44  properties.scriptUri = assetManager.set("__script", std::move(data))->getRelativeUri();
45  scriptPath = {};
46  if(name.empty()) {
47  properties.scriptName = "<script>";
48  } else {
49  properties.scriptName = name;
50  }
51 }
52 
54  properties.processor = proc;
55 }
56 
58  return scriptPath;
59 }
60 
61 std::string Script::getScriptName() const {
62  return properties.scriptName;
63 }
64 
66  return properties.processor;
67 }
68 
69 } // namespace node
70 } // namespace dai
dai::NodeCRTP< Node, Script, ScriptProperties >::properties
Properties & properties
Underlying properties.
Definition: Node.hpp:346
dai::node::Script::getProcessor
ProcessorType getProcessor() const
Definition: Script.cpp:65
dai::Path::u8string
std::string u8string() const
Get path in utf-8.
Definition: Path.hpp:164
Pipeline.hpp
dai::ScriptProperties::scriptUri
std::string scriptUri
Definition: ScriptProperties.hpp:16
dai::Node
Abstract Node.
Definition: Node.hpp:29
dai::DatatypeEnum::Buffer
@ Buffer
dai::Node::assetManager
AssetManager assetManager
Definition: Node.hpp:291
dai::NodeCRTP
Definition: Node.hpp:342
dai::node::Script::getScriptPath
dai::Path getScriptPath() const
Get filesystem path from where script was loaded.
Definition: Script.cpp:57
dai::bootloader::Type
Type
Definition: Type.hpp:11
DAI_SPAN_NAMESPACE_NAME::detail::data
constexpr auto data(C &c) -> decltype(c.data())
Definition: span.hpp:177
dai::node::Script::setScriptPath
void setScriptPath(const dai::Path &path, const std::string &name="")
Definition: Script.cpp:22
dai::ProcessorType::LEON_MSS
@ LEON_MSS
dai::node::Script::setScript
void setScript(const std::string &script, const std::string &name="")
Definition: Script.cpp:32
dai::node::Script
Definition: Script.hpp:15
dai::AssetManager::set
std::shared_ptr< dai::Asset > set(Asset asset)
Definition: AssetManager.cpp:15
dai::Node::Input
Definition: Node.hpp:147
dai::ScriptProperties
Definition: ScriptProperties.hpp:12
dai::ScriptProperties::scriptName
std::string scriptName
Definition: ScriptProperties.hpp:21
dai::node::Script::scriptPath
dai::Path scriptPath
Definition: Script.hpp:20
BlobReader.hpp
dai::Properties
Base Properties structure.
Definition: Properties.hpp:8
dai::node::Script::setProcessor
void setProcessor(ProcessorType type)
Definition: Script.cpp:53
std
Definition: Node.hpp:366
dai::node::Script::getScriptName
std::string getScriptName() const
Get the script name in utf-8.
Definition: Script.cpp:61
dai::Path
Represents paths on a filesystem; accepts utf-8, Windows utf-16 wchar_t, or std::filesystem::path.
Definition: Path.hpp:27
Script.hpp
dai::node::Script::Script
Script(const std::shared_ptr< PipelineImpl > &par, int64_t nodeId)
Definition: Script.cpp:9
dai
Definition: CameraExposureOffset.hpp:6
dai::ScriptProperties::processor
ProcessorType processor
Definition: ScriptProperties.hpp:26
dai::ProcessorType
ProcessorType
Definition: ProcessorType.hpp:12


depthai
Author(s): Martin Peterlin
autogenerated on Sat Mar 22 2025 02:58:19