processors/processing_processor.hpp
Namespaces
Classes
Source code
#ifndef PROCESSING_PROCESSOR_HPP
#define PROCESSING_PROCESSOR_HPP
#include <cmath>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include <SGNSProcMain.hpp>
#include <util/sgprocmgr-logger.hpp>
namespace sgns::sgprocessing
{
struct ProcessingResult
{
std::vector<uint8_t> hash;
std::shared_ptr<std::pair<std::vector<std::string>, std::vector<std::vector<char>>>> output_buffers;
};
class ProcessingProcessor
{
public:
virtual ~ProcessingProcessor() = default;
virtual ProcessingResult StartProcessing( std::vector<std::vector<uint8_t>> &chunkhashes,
const sgns::IoDeclaration &proc,
std::vector<char> &imageData,
std::vector<char> &modelFile,
const std::vector<sgns::Parameter> *parameters ) = 0;
//virtual void SetData(std::shared_ptr<std::pair<std::vector<std::string>, std::vector<std::vector<char>>>> buffers) = 0;
virtual float GetProgress() const { return m_progress; }
protected:
std::atomic<float> m_progress{0.0f}; // Progress percentage
sgns::sgprocmanager::Logger m_logger = sgns::sgprocmanager::createLogger( "SGProcessor" );
};
}
#endif
Updated on 2026-04-15 at 11:00:39 -0700