ConfigurationSettings.h File Reference

#include "DataVariant.h"
#include "Filename.h"
#include "Subject.h"
#include "Service.h"
#include "TypesFile.h"
#include <map>
#include <string>

Go to the source code of this file.

Classes

class  ConfigurationSettings
 Contains settings specific to the user and application run that will be persisted between runs of the application. More...

Defines

#define SETTING(settingname, classname, type, errorDefault)
#define SETTING_PTR(settingname, classname, type)
#define CUSTOM_SETTING(settingname, classname, type, errorDefault)
#define CUSTOM_SETTING_PTR(settingname, classname, type)


Define Documentation

#define CUSTOM_SETTING ( settingname,
classname,
type,
errorDefault   ) 

This macro creates 4 static functions that will provide get/set, has and getName functions for a given setting in ConfigurationSettings.

These methods should be used because they create type-safe get/set functions for the given setting. This macro should be used instead of SETTING() if and additional string needs to be provided at runtime to make a unique key for the setting. For instance, if there should be a different setting value for each plug-in, then this macro will generate functions that take the plug-in name as an argument. This macro should be used for non-pointer types, the CUSTOM_SETTING_PTR() macro should be used for pointer types.

Please see Settings Macros for more details

Parameters:
settingname the name of the setting. The three generated methods will be getSetting[settingname], setSetting[settingname] and hasSetting[settingname]
classname this will be used to namespace the setting within ConfigurationSettings, ie. the key used to store the value in ConfigurationSettings will be classname + "/" + namespaceStr + "/" + settingname. namespaceStr is an argument to the getSetting/setSetting and hasSetting functions generated by this macro.
type this should be the C++ type used to store the setting, ie. unsigned int, bool. This version of the macro should only be used with non-pointer types (ie. value types)
errorDefault The getSetting method generated by this macro must always return a value. If the setting does not exist in ConfigurationSettings, the value provided here will be returned by the getSetting method. If the value provided here must be returned a verification error will be raised by the getSetting function.

Definition at line 190 of file ConfigurationSettings.h.

#define CUSTOM_SETTING_PTR ( settingname,
classname,
type   ) 

This macro creates 4 static functions that will provide get/set, has and getName functions for a given setting in ConfigurationSettings.

These methods should be used because they create type-safe get/set functions for the given setting. This macro should be used instead of SETTING_PTR() if and additional string needs to be provided at runtime to make a unique key for the setting. For instance, if there should be a different setting value for each plug-in, then this macro will generate functions that take the plug-in name as an argument. This macro should be used for pointer types, the CUSTOM_SETTING() macro should be used for non-pointer types.

Please see Settings Macros for more details

Parameters:
settingname the name of the setting. The three generated methods will be getSetting[settingname], setSetting[settingname] and hasSetting[settingname]
classname this will be used to namespace the setting within ConfigurationSettings, ie. the key used to store the value in ConfigurationSettings will be classname + "/" + namespaceStr + "/" + settingname. namespaceStr is an argument to the getSetting/setSetting and hasSetting functions generated by this macro.
type this should be the C++ type used to store the setting, ie. DynamicObject, Filename (ie. without the *). The macro will add the * where required.

Definition at line 254 of file ConfigurationSettings.h.

#define SETTING ( settingname,
classname,
type,
errorDefault   ) 

This macro creates 4 static functions that will provide get/set, has and getName functions for a given setting in ConfigurationSettings.

These methods should be used because they create type-safe get/set functions for the given setting. This macro should be used for non-pointer types, the SETTING_PTR() macro should be used for pointer types.

Please see Settings Macros for more details

Parameters:
settingname the name of the setting. The three generated methods will be getSetting[settingname], setSetting[settingname] and hasSetting[settingname]
classname this will be used to namespace the setting within ConfigurationSettings, ie. the key used to store the value in ConfigurationSettings will be classname + "/" + settingname.
type this should be the C++ type used to store the setting, ie. unsigned int, bool. This version of the macro should only be used with non-pointer types (ie. value types)
errorDefault The getSetting method generated by this macro must always return a value. If the setting does not exist in ConfigurationSettings, the value provided here will be returned by the getSetting method. If the value provided here must be returned a verification error will be raised by the getSetting function.

Definition at line 59 of file ConfigurationSettings.h.

#define SETTING_PTR ( settingname,
classname,
type   ) 

This macro creates 4 static functions that will provide get/set, has and getName functions for a given setting in ConfigurationSettings.

These methods should be used because they create type-safe get/set functions for the given setting. This macro should be used for pointer types, the SETTING() macro should be used for non-pointer types.

Please see Settings Macros for more details

Parameters:
settingname the name of the setting. The three generated methods will be getSetting[settingname], setSetting[settingname] and hasSetting[settingname]
classname this will be used to namespace the setting within ConfigurationSettings, ie. the key used to store the value in ConfigurationSettings will be classname + "/" + settingname.
type this should be the C++ type used to store the setting, ie. DynamicObject, Filename (ie. without the *). The macro will add the * where required.

Definition at line 115 of file ConfigurationSettings.h.


Software Development Kit - Opticks 4.9.0 Build 16218