Program Listing for File ParseApplicationData.h
↰ Return to documentation for file (/tmp/ws/src/sick_safetyscanners_base/include/sick_safetyscanners_base/data_processing/ParseApplicationData.h
)
// this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
// -- BEGIN LICENSE BLOCK ----------------------------------------------
// -- END LICENSE BLOCK ------------------------------------------------
//----------------------------------------------------------------------
//----------------------------------------------------------------------
#ifndef SICK_SAFETYSCANNERS_BASE_DATA_PROCESSING_PARSEAPPLICATIONDATA_H
#define SICK_SAFETYSCANNERS_BASE_DATA_PROCESSING_PARSEAPPLICATIONDATA_H
#include "sick_safetyscanners_base/datastructure/Data.h"
#include "sick_safetyscanners_base/datastructure/DerivedValues.h"
#include "sick_safetyscanners_base/datastructure/PacketBuffer.h"
#include "sick_safetyscanners_base/data_processing/ReadWriteHelper.hpp"
#include <vector>
namespace sick {
namespace data_processing {
class ParseApplicationData
{
public:
ParseApplicationData();
datastructure::ApplicationData parseUDPSequence(const sick::datastructure::PacketBuffer& buffer,
datastructure::Data& data) const;
private:
void setDataInApplicationData(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationData& application_data) const;
void
setApplicationInputsInApplicationData(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationData& application_data) const;
void
setApplicationOutputsInApplicationData(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationData& application_data) const;
void setDataInApplicationInputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationInputs& inputs) const;
void setDataInApplicationOutputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void setUnsafeInputsInApplicationInputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationInputs& inputs) const;
void setUnsafeInputsSourcesInApplicationInputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationInputs& inputs) const;
void setUnsafeInputsFlagsInApplicationInputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationInputs& inputs) const;
void setMonitoringCaseInputsInApplicationInputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationInputs& inputs) const;
void setMonitoringCaseNumbersInApplicationInputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationInputs& inputs) const;
void setMonitoringCaseFlagsInApplicationInputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationInputs& inputs) const;
void setLinearVelocityInputsInApplicationInputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationInputs& inputs) const;
void setLinearVelocity0InApplicationInputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationInputs& inputs) const;
void setLinearVelocity1InApplicationInputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationInputs& inputs) const;
void setLinearVelocityFlagsInApplicationInputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationInputs& inputs) const;
void setSleepModeInputInApplicationInputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationInputs& inputs) const;
void
setEvalutaionPathsOutputsInApplicationOutputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void setEvaluationPathsOutputsEvalOutInApplicationOutputs(
std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void setEvaluationPathsOutputsIsSafeInApplicationOutputs(
std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void setEvaluationPathsOutputsValidFlagsInApplicationOutputs(
std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void
setMonitoringCaseOutputsInApplicationOutputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void
setMonitoringCaseNumbersInApplicationOutputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void setMonitoringCaseFlagsInApplicationOutputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void setSleepModeOutputInApplicationOutputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void setErrorFlagsInApplicationOutputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void
setLinearVelocityOutoutsInApplicationOutputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void setLinearVelocity0InApplicationOutputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void setLinearVelocity1InApplicationOutputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void setLinearVelocityFlagsInApplicationOutputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void
setResultingVelocityOutputsInApplicationOutputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void setResultingVelocityInApplicationOutputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void
setResultingVelocityFlagsInApplicationOutputs(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
void setOutputFlagsinApplicationOutput(std::vector<uint8_t>::const_iterator data_ptr,
datastructure::ApplicationOutputs& outputs) const;
bool checkIfPreconditionsAreMet(const datastructure::Data& data) const;
bool checkIfApplicationDataIsPublished(const datastructure::Data& data) const;
bool checkIfDataContainsNeededParsedBlocks(const datastructure::Data& data) const;
};
} // namespace data_processing
} // namespace sick
#endif // SICK_SAFETYSCANNERS_BASE_DATA_PROCESSING_PARSEAPPLICATIONDATA_H