Loading...
Searching...
No Matches
juce::PropertiesFile Class Reference

`#include <juce_PropertiesFile.h>`

Inheritance diagram for juce::PropertiesFile:

## Classes

struct | Options

## Public Types

enum | StorageFormat { storeAsBinary , storeAsCompressedBinary , storeAsXML }

## Public Member Functions

| PropertiesFile (const Options &options)
| PropertiesFile (const File &file, const Options &options)
| ~PropertiesFile () override
bool | isValidFile () const noexcept
bool | saveIfNeeded ()
bool | save ()
bool | needsToBeSaved () const
void | setNeedsToBeSaved (bool needsToBeSaved)
bool | reload ()
const File & | getFile () const noexcept
Public Member Functions inherited from juce::PropertySet
| PropertySet (bool ignoreCaseOfKeyNames=false)
| PropertySet (const PropertySet &other)
PropertySet & | operator= (const PropertySet &other)
virtual | ~PropertySet ()
String | getValue (StringRef keyName, const String &defaultReturnValue=String()) const noexcept
int | getIntValue (StringRef keyName, int defaultReturnValue=0) const noexcept
double | getDoubleValue (StringRef keyName, double defaultReturnValue=0.0) const noexcept
bool | getBoolValue (StringRef keyName, bool defaultReturnValue=false) const noexcept
std::unique_ptr< XmlElement > | getXmlValue (StringRef keyName) const
void | setValue (StringRef keyName, const var &value)
void | setValue (StringRef keyName, const XmlElement *xml)
void | addAllPropertiesFrom (const PropertySet &source)
void | removeValue (StringRef keyName)
bool | containsKey (StringRef keyName) const noexcept
void | clear ()
StringPairArray & | getAllProperties () noexcept
const CriticalSection & | getLock () const noexcept
std::unique_ptr< XmlElement > | createXml (const String &nodeName) const
void | restoreFromXml (const XmlElement &xml)
void | setFallbackPropertySet (PropertySet *fallbackProperties) noexcept
PropertySet * | getFallbackPropertySet () const noexcept
Public Member Functions inherited from juce::ChangeBroadcaster
| ChangeBroadcaster () noexcept
virtual | ~ChangeBroadcaster ()
void | addChangeListener (ChangeListener *listener)
void | removeChangeListener (ChangeListener *listener)
void | removeAllChangeListeners ()
void | sendChangeMessage ()
void | sendSynchronousChangeMessage ()
void | dispatchPendingMessages ()

## Protected Member Functions

void | propertyChanged () override

## Detailed Description

Wrapper on a file that stores a list of key/value data pairs.

Useful for storing application settings, etc. See the PropertySet class for the interfaces that read and write values.

Not designed for very large amounts of data, as it keeps all the values in memory and writes them out to disk lazily when they are changed.

Because this class derives from ChangeBroadcaster, ChangeListeners can be registered with it, and these will be signalled when a value changes.

See also
  PropertySet

Definition at line 45 of file juce_PropertiesFile.h.

## Member Enumeration Documentation

## StorageFormat

enum juce::PropertiesFile::StorageFormat

Definition at line 51 of file juce_PropertiesFile.h.

## Constructor & Destructor Documentation

## PropertiesFile() [1/2]

juce::PropertiesFile::PropertiesFile | ( | const Options & | options | ) |

explicit

Creates a PropertiesFile object. The file used will be chosen by calling PropertiesFile::Options::getDefaultFile() for the options provided. To set the file explicitly, use the other constructor.

Definition at line 122 of file juce_PropertiesFile.cpp.

Referenced by juce::PropertiesFile::Options::Options().

## PropertiesFile() [2/2]

juce::PropertiesFile::PropertiesFile | ( | const File & | file,
|  | const Options & | options )

Creates a PropertiesFile object. Unlike the other constructor, this one allows you to explicitly set the file that you want to be used, rather than using the default one.

Definition at line 115 of file juce_PropertiesFile.cpp.

## ~PropertiesFile()

juce::PropertiesFile::~PropertiesFile | ( |  | ) |

override

Destructor. When deleted, the file will first call saveIfNeeded() to flush any changes to disk.

Definition at line 140 of file juce_PropertiesFile.cpp.

## Member Function Documentation

## getFile()

const File & juce::PropertiesFile::getFile | ( |  | ) | const

inline noexcept

Returns the file that's being used.

Definition at line 228 of file juce_PropertiesFile.h.

## isValidFile()

bool juce::PropertiesFile::isValidFile | ( |  | ) | const

inline noexcept

Returns true if this file was created from a valid (or non-existent) file. If the file failed to load correctly because it was corrupt or had insufficient access, this will be false.

Definition at line 189 of file juce_PropertiesFile.h.

## needsToBeSaved()

bool juce::PropertiesFile::needsToBeSaved | ( |  | ) | const

Returns true if the properties have been altered since the last time they were saved. The file is flagged as needing to be saved when you change a value, but you can explicitly set this flag with setNeedsToBeSaved().

Definition at line 156 of file juce_PropertiesFile.cpp.

## propertyChanged()

void juce::PropertiesFile::propertyChanged | ( |  | ) |

override protected virtual

Reimplemented from juce::PropertySet.

Definition at line 347 of file juce_PropertiesFile.cpp.

## reload()

bool juce::PropertiesFile::reload | ( |  | ) |

Attempts to reload the settings from the file.

Definition at line 129 of file juce_PropertiesFile.cpp.

Referenced by PropertiesFile(), and PropertiesFile().

## save()

bool juce::PropertiesFile::save | ( |  | ) |

This will force a write-to-disk of the current values, regardless of whether anything has changed since the last save.

Returns false if it fails to write to the file for some reason (maybe because it's read-only or the directory doesn't exist or something).

See also
  saveIfNeeded

Definition at line 168 of file juce_PropertiesFile.cpp.

Referenced by saveIfNeeded().

## saveIfNeeded()

bool juce::PropertiesFile::saveIfNeeded | ( |  | ) |

This will flush all the values to disk if they've changed since the last time they were saved.

Returns false if it fails to write to the file for some reason (maybe because it's read-only or the directory doesn't exist or something).

See also
  save

Definition at line 150 of file juce_PropertiesFile.cpp.

Referenced by propertyChanged(), and ~PropertiesFile().

## setNeedsToBeSaved()

void juce::PropertiesFile::setNeedsToBeSaved | ( | bool | needsToBeSaved | ) |

Explicitly sets the flag to indicate whether the file needs saving or not.

See also
  needsToBeSaved

Definition at line 162 of file juce_PropertiesFile.cpp.

The documentation for this class was generated from the following files:

- juce_PropertiesFile.h
- juce_PropertiesFile.cpp