GUI-FreeRDP/node_settings.h

68 lines
1.3 KiB
C
Raw Normal View History

/*
* node_settings.h
*
* Created on: 6 июл. 2022 г.
* Author: alexander
*/
#ifndef NODE_SETTINGS_H_
#define NODE_SETTINGS_H_
#include <stdbool.h>
typedef enum
{
PARAMETER_NULL,
PARAMETER_XFREERDP,
PARAMETER_USERNAME,
PARAMETER_SERVER,
PARAMETER_PASSWORD,
PARAMETER_MULTIMONITOR,
PARAMETER_FULLSCREEN,
PARAMETER_AUTHENTICATION,
PARAMETER_SECURITY
} SettingsParameters;
typedef struct
{
char *key;
char *value;
char *fullArgument;
bool isValue;
} SettingsData;
typedef struct Node
{
SettingsParameters parameter;
bool change;
bool enable;
SettingsData *data;
struct Node *next;
} Node;
typedef struct
{
size_t countAll;
size_t countEnable;
struct Node *next;
} HeadNode;
extern HeadNode settings;
/*
* Работа с Node
*/
Node *settingsGetNode(SettingsParameters parameter);
void settingsAddKey(SettingsParameters parameter, char *key, bool isValue, bool enable);
void settingsSetValue(SettingsParameters parameter, char *value);
void settingsSetEnable(SettingsParameters parameter, bool enable);
void settingsToggleEnable(SettingsParameters parameter);
void settingsToggleChange(SettingsParameters parameter);
bool settingsGetEnable(SettingsParameters parameter);
void settingsFree();
void settingsSaveSettings();
void settingsResetChange();
#endif /* SETTINGS_H_ */