Ceetron Result Calculator Framework
CRCResultCalculator.h
1 //##################################################################################################
2 //
3 // Ceetron Result Calculator Framework
4 //
5 // --------------------------------------------------------------------------------------------
6 // Copyright (C) 2019, Ceetron AS
7 //##################################################################################################
8 
9 #pragma once
10 
11 #include "CRCBaseTypes.h"
12 #include "CRCString.h"
13 #include "CRCInitOptions.h"
14 
15 class CRCHostMetaData;
18 class CRCError;
19 
20 //==================================================================================================
21 //
22 //
23 //
24 //==================================================================================================
26 {
27 public:
29  virtual ~CRCResultCalculator() {}
30 
31  virtual bool initialize(const CRCHostMetaData& hostMetaData, const CRCInitOptions& options, CRCCalculatorMetaData* calculatorMetaData, CRCError* error) = 0;
32 
33  virtual void getCalculatorParams(CRCCalculatorParams* calculatorParams) const = 0;
34  virtual bool setCalculatorParams(const CRCCalculatorParams& calculatorParams) = 0;
35  virtual void calculateValue(const crc_double_t* inputArr, crc_size_t inputArraySize, crc_double_t* outputArr, crc_size_t outputArraySize) const = 0;
36 };
virtual void getCalculatorParams(CRCCalculatorParams *calculatorParams) const =0
Return the current value of any parameters used by this calculator.
Definition: CRCResultCalculator.cpp:56
virtual bool setCalculatorParams(const CRCCalculatorParams &calculatorParams)=0
Apply the specified parameters to this calculator.
Definition: CRCResultCalculator.cpp:63
Definition: CRCInitOptions.h:18
CRCResultCalculator is the base class for result calculators that can be used in both desktop and clo...
Definition: CRCResultCalculator.h:25
Error object to communicate an error during initialization of the result calculator.
Definition: CRCError.h:18
virtual void calculateValue(const crc_double_t *inputArr, crc_size_t inputArraySize, crc_double_t *outputArr, crc_size_t outputArraySize) const =0
Calculate the new result based on the input values given.
Definition: CRCResultCalculator.cpp:83
Contains information on which results this calculator depends on in order to do its computations...
Definition: CRCCalculatorMetaData.h:19
virtual bool initialize(const CRCHostMetaData &hostMetaData, const CRCInitOptions &options, CRCCalculatorMetaData *calculatorMetaData, CRCError *error)=0
Initialize the result calculator.
Definition: CRCResultCalculator.cpp:48
Definition: CRCCalculatorParams.h:20
Contains meta data provided by the host giving information on which results are available.
Definition: CRCHostMetaData.h:37