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