68 lines
1.3 KiB
C
68 lines
1.3 KiB
C
/*
|
||
* 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_ */
|