Public Member Functions

ApplicationProperties Class Reference

Manages a collection of properties. More...

Inherits DeletedAtShutdown.

List of all members.

Public Member Functions

 ApplicationProperties ()
 Creates an ApplicationProperties object.
 ~ApplicationProperties ()
 Destructor.
 juce_DeclareSingleton (ApplicationProperties, false)
void setStorageParameters (const PropertiesFile::Options &options)
 Gives the object the information it needs to create the appropriate properties files.
bool testWriteAccess (bool testUserSettings, bool testCommonSettings, bool showWarningDialogOnFailure)
 Tests whether the files can be successfully written to, and can show an error message if not.
PropertiesFilegetUserSettings ()
 Returns the user settings file.
PropertiesFilegetCommonSettings (bool returnUserPropsIfReadOnly)
 Returns the common settings file.
bool saveIfNeeded ()
 Saves both files if they need to be saved.
void closeFiles ()
 Flushes and closes both files if they are open.

Detailed Description

Manages a collection of properties.

This is a slightly higher-level wrapper for PropertiesFile, which can be used as a singleton.

It holds two different PropertiesFile objects internally, one for user-specific settings (stored in your user directory), and one for settings that are common to all users (stored in a folder accessible to all users).

The class manages the creation of these files on-demand, allowing access via the getUserSettings() and getCommonSettings() methods. It also has a few handy methods like testWriteAccess() to check that the files can be saved.

If you're using one of these as a singleton, then your app's start-up code should first of all call setStorageParameters() to tell it the parameters to use to create the properties files.

See also:
PropertiesFile

Constructor & Destructor Documentation

ApplicationProperties::ApplicationProperties (  )

Creates an ApplicationProperties object.

Before using it, you must call setStorageParameters() to give it the info it needs to create the property files.

ApplicationProperties::~ApplicationProperties (  )

Destructor.


Member Function Documentation

ApplicationProperties::juce_DeclareSingleton ( ApplicationProperties  ,
false   
)
void ApplicationProperties::setStorageParameters ( const PropertiesFile::Options options )

Gives the object the information it needs to create the appropriate properties files.

See the PropertiesFile::Options class for details about what options you need to set.

bool ApplicationProperties::testWriteAccess ( bool  testUserSettings,
bool  testCommonSettings,
bool  showWarningDialogOnFailure 
)

Tests whether the files can be successfully written to, and can show an error message if not.

Returns true if none of the tests fail.

Parameters:
testUserSettingsif true, the user settings file will be tested
testCommonSettingsif true, the common settings file will be tested
showWarningDialogOnFailureif true, the method will show a helpful error message box if either of the tests fail
PropertiesFile* ApplicationProperties::getUserSettings (  )

Returns the user settings file.

The first time this is called, it will create and load the properties file.

Note that when you search the user PropertiesFile for a value that it doesn't contain, the common settings are used as a second-chance place to look. This is done via the PropertySet::setFallbackPropertySet() method - by default the common settings are set to the fallback for the user settings.

See also:
getCommonSettings
PropertiesFile* ApplicationProperties::getCommonSettings ( bool  returnUserPropsIfReadOnly )

Returns the common settings file.

The first time this is called, it will create and load the properties file.

Parameters:
returnUserPropsIfReadOnlyif this is true, and the common properties file is read-only (e.g. because the user doesn't have permission to write to shared files), then this will return the user settings instead, (like getUserSettings() would do). This is handy if you'd like to write a value to the common settings, but if that's no possible, then you'd rather write to the user settings than none at all. If returnUserPropsIfReadOnly is false, this method will always return the common settings, even if any changes to them can't be saved.
See also:
getUserSettings
bool ApplicationProperties::saveIfNeeded (  )

Saves both files if they need to be saved.

See also:
PropertiesFile::saveIfNeeded
void ApplicationProperties::closeFiles (  )

Flushes and closes both files if they are open.

This flushes any pending changes to disk with PropertiesFile::saveIfNeeded() and closes both files. They will then be re-opened the next time getUserSettings() or getCommonSettings() is called.


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines