/* * node_settings.h * * Created on: 6 июл. 2022 г. * Author: alexander */ #ifndef NODE_SETTINGS_H_ #define NODE_SETTINGS_H_ #include 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_ */