/**
|
|
\file
|
|
\brief Объявление класса TF_WorkParam
|
|
|
|
\version 1
|
|
|
|
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
#ifndef __TF_WORK_PARAM_H__
|
|
#define __TF_WORK_PARAM_H__
|
|
|
//! Класс хранения параметров обработки
|
//! Класс хранения параметров обработки
|
/**
|
/**
|
|
|
\ingroup NodeWork
|
\ingroup NodeWork
|
|
|
Класс содержит параметры используемые при обработке.
|
Класс содержит параметры используемые при обработке.
|
Парметры могут загружаться из файла данных.
|
Парметры могут загружаться из файла данных.
|
Каждый парметр может быть установлен с использованием
|
Каждый парметр может быть установлен с использованием
|
текстовой строки.
|
текстовой строки.
|
|
|
*/
|
*/
|
class TF_WorkParam
|
class TF_WorkParam
|
{
|
{
|
public:
|
public:
|
|
|
//! Структура массива параметров
|
//! Структура массива параметров
|
/** Структра связывает название параметра и указатель на соответсвующую
|
/** Структра связывает название параметра и указатель на соответсвующую
|
переменную.
|
переменную.
|
|
|
\ingroup WorkFunc
|
\ingroup WorkFunc
|
|
|
*/
|
*/
|
struct STR_CFG {
|
struct STR_CFG {
|
|
|
U32 is_float; //!< 1 - число с плавающей точкой; 0 - целое.
|
U32 is_float; //!< 1 - число с плавающей точкой; 0 - целое.
|
const char *name; //!< Название параметра
|
const char *name; //!< Название параметра
|
const char *def; //!< Значение по умолчанию
|
const char *def; //!< Значение по умолчанию
|
U32 *ptr; //!< Указатель на переменную
|
U32 *ptr; //!< Указатель на переменную
|
const char *cmt; //!< Комментарий для параметра
|
const char *cmt; //!< Комментарий для параметра
|
|
|
STR_CFG(
|
STR_CFG(
|
U32 p_is_float, //!< 1 - число с плавающей точкой; 0 - целое.
|
U32 p_is_float, //!< 1 - число с плавающей точкой; 0 - целое.
|
const char *p_name, //!< Название параметра
|
const char *p_name, //!< Название параметра
|
const char *p_def, //!< Значение по умолчанию
|
const char *p_def, //!< Значение по умолчанию
|
U32 *p_ptr, //!< Указатель на переменную
|
U32 *p_ptr, //!< Указатель на переменную
|
const char *p_cmt //!< Комментарий для параметра
|
const char *p_cmt //!< Комментарий для параметра
|
){
|
){
|
is_float = p_is_float;
|
is_float = p_is_float;
|
name = p_name;
|
name = p_name;
|
def = p_def;
|
def = p_def;
|
ptr = p_ptr;
|
ptr = p_ptr;
|
cmt = p_cmt;
|
cmt = p_cmt;
|
}
|
}
|
|
|
STR_CFG(
|
STR_CFG(
|
){
|
){
|
is_float = 100;
|
is_float = 100;
|
name = NULL;
|
name = NULL;
|
def = NULL;
|
def = NULL;
|
ptr = NULL;
|
ptr = NULL;
|
cmt = NULL;
|
cmt = NULL;
|
}
|
}
|
|
|
};
|
};
|
|
|
|
|
|
|
|
|
TF_WorkParam( void );
|
TF_WorkParam( void );
|
~TF_WorkParam( void );
|
~TF_WorkParam( void );
|
|
|
//! Получение параметров из файла инициализации
|
//! Получение параметров из файла инициализации
|
void GetParamFromFile(BRDCHAR* fname );
|
void GetParamFromFile(BRDCHAR* fname );
|
|
|
//! Получение параметра из строки
|
//! Получение параметра из строки
|
U32 GetParamFromStr( char* str );
|
U32 GetParamFromStr( char* str );
|
|
|
STR_CFG array_cfg[500];
|
STR_CFG array_cfg[500];
|
U32 max_item;
|
U32 max_item;
|
|
|
//! Расчёт параметров
|
//! Расчёт параметров
|
virtual void CalculateParams( void );
|
virtual void CalculateParams( void );
|
|
|
//! Сохранение параметров в памяти
|
//! Сохранение параметров в памяти
|
U32 PutParamToMemory( char* ptr, U32 max_size );
|
U32 PutParamToMemory( char* ptr, U32 max_size );
|
|
|
//! Получение параметров из памяти
|
//! Получение параметров из памяти
|
void GetParamFromMemory( char* ptr );
|
void GetParamFromMemory( char* ptr );
|
|
|
//! Установка параметров по умолчанию
|
//! Установка параметров по умолчанию
|
virtual void SetDefault( void );
|
virtual void SetDefault( void );
|
|
|
//! Отображение параметров
|
//! Отображение параметров
|
virtual void ShowParam( void );
|
virtual void ShowParam( void );
|
|
|
//! Функция отображения параметров
|
//! Функция отображения параметров
|
void log_out( const char* fmt, ... );
|
void log_out( const char* fmt, ... );
|
};
|
};
|
|
|
No newline at end of file
|
No newline at end of file
|
|
#endif //__TF_WORK_PARAM_H__
|
|
|
No newline at end of file
|
No newline at end of file
|