GUI-FreeRDP/node_settings.h

56 lines
1.1 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
} SettingsParameters;
typedef struct
{
char *key;
char *value;
char *fullArgument;
bool isValue;
} SettingsData;
typedef struct Node
{
SettingsParameters parameter;
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);
bool settingsGetEnable(SettingsParameters parameter);
void settingsFree();
#endif /* SETTINGS_H_ */