GUI-FreeRDP/freerdp/client/X11/cli/node_settings.h

68 lines
1.6 KiB
C
Raw Permalink Normal View History

/*
* 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_ */