67 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | ||
|  * node_settings.h
 | ||
|  *
 | ||
|  *  Created on: 6 июл. 2022 г.
 | ||
|  *      Author: alexander
 | ||
|  */
 | ||
| 
 | ||
| #ifndef NODE_SETTINGS_H_
 | ||
| #define NODE_SETTINGS_H_
 | ||
| 
 | ||
| #include <stdbool.h>
 | ||
| 
 | ||
| #include "parameter.h"
 | ||
| #include "value.h"
 | ||
| 
 | ||
| typedef struct NodeValue
 | ||
| {
 | ||
|     Value name;
 | ||
|     bool set;
 | ||
|     bool change;
 | ||
|     char *current;
 | ||
|     struct NodeValue *next;
 | ||
| } NodeValue;
 | ||
| 
 | ||
| typedef struct NodeParameter
 | ||
| {
 | ||
|     Parameter name;
 | ||
|     bool set;
 | ||
|     bool change;
 | ||
|     char *key;
 | ||
|     NodeValue *value;
 | ||
|     bool singleValue;
 | ||
|     size_t countValue;
 | ||
|     size_t countValueSet;
 | ||
|     struct NodeParameter *dependence;
 | ||
|     struct NodeParameter *conflict;
 | ||
|     struct NodeParameter *next;
 | ||
| } NodeParameter;
 | ||
| 
 | ||
| typedef struct NodeHead
 | ||
| {
 | ||
|     NodeParameter *parameter;
 | ||
|     size_t countParameter;
 | ||
|     size_t countParameterSet;
 | ||
| } NodeHead;
 | ||
| 
 | ||
| extern NodeHead settings;
 | ||
| 
 | ||
| NodeParameter* getParameter(Parameter name);
 | ||
| NodeValue* getValue(Value name);
 | ||
| void addParameterKey(Parameter name, char *key, bool set, bool singleValue, NodeParameter *dependence, NodeParameter *conflict);
 | ||
| void addParameterValue(Parameter pName, Value vName, char *current, bool set);
 | ||
| void freeSettings();
 | ||
| 
 | ||
| NodeValue *getSetNodeValue(NodeParameter *node);
 | ||
| char *getSetValueCurrent(Parameter name);
 | ||
| bool getSetParameter(Parameter name);
 | ||
| bool getSetValue(Parameter pName, Value vName);
 | ||
| int getCountValue(Parameter name);
 | ||
| void changeParameter(Parameter name);
 | ||
| void changeValue(Parameter pName, Value vName);
 | ||
| void saveChangeSettings();
 | ||
| void resetChangeSettings();
 | ||
| void setParameter(Parameter name, bool set);
 | ||
| void setParameterValue(Parameter pName, Value vName, char *current);
 | ||
| 
 | ||
| #endif /* SETTINGS_H_ */
 | 
