Program Listing for File Script.hpp

Return to documentation for file (include/depthai/pipeline/node/Script.hpp)

#pragma once

#include "depthai/openvino/OpenVINO.hpp"
#include "depthai/pipeline/Node.hpp"

// standard
#include <fstream>

// shared
#include <depthai-shared/properties/ScriptProperties.hpp>

namespace dai {
namespace node {

class Script : public NodeCRTP<Node, Script, ScriptProperties> {
   public:
    constexpr static const char* NAME = "Script";

   private:
    dai::Path scriptPath;

   public:
    Script(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId);
    Script(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId, std::unique_ptr<Properties> props);

    InputMap inputs;

    OutputMap outputs;

    void setScriptPath(const dai::Path& path, const std::string& name = "");

    void setScript(const std::string& script, const std::string& name = "");

    void setScript(const std::vector<std::uint8_t>& data, const std::string& name = "");

    dai::Path getScriptPath() const;

    std::string getScriptName() const;

    void setProcessor(ProcessorType type);

    ProcessorType getProcessor() const;
};

}  // namespace node
}  // namespace dai