56 lines
1.1 KiB
C
56 lines
1.1 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
|
||
} 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_ */
|