34 constexpr static const char*
const fileTag =
"PROPERTIES";
35 constexpr static const char*
const valueTag =
"VALUE";
56 #if JUCE_MAC || JUCE_IOS
92 #elif JUCE_LINUX || JUCE_BSD || JUCE_ANDROID
133 if (pl !=
nullptr && ! pl->isLocked())
176 ||
file.isDirectory()
177 || !
file.getParentDirectory().createDirectory())
194 if (
name.isNotEmpty())
196 e->getFirstChildElement() !=
nullptr
212 for (
int i = 0;
i < props.size(); ++
i)
218 if (
auto childElement =
parseXML (props.getAllValues() [
i]))
219 e->addChildElement (childElement.release());
226 if (pl !=
nullptr && ! pl->isLocked())
244 auto magicNumber = fileStream.
readInt();
264 int numValues =
in.readInt();
266 while (--numValues >= 0 && !
in.isExhausted())
268 auto key =
in.readString();
272 if (
key.isNotEmpty())
283 if (pl !=
nullptr && ! pl->isLocked())
291 if (!
out.openedOk())
326 auto& keys = props.getAllKeys();
327 auto& values = props.getAllValues();
328 auto numProperties = props.size();
330 if (!
out.writeInt (numProperties))
333 for (
int i = 0;
i < numProperties; ++
i)
335 if (!
out.writeString (keys[
i]))
return false;
336 if (!
out.writeString (values[
i]))
return false;
352 if (
options.millisecondsBeforeSaving > 0)
354 else if (
options.millisecondsBeforeSaving == 0)
#define nullptr
Definition DistrhoDefines.h:75
static File getSpecialLocation(const SpecialLocationType type)
Definition File.cpp:1642
static constexpr uint16 makeInt(uint8 leastSig, uint8 mostSig) noexcept
Definition juce_ByteOrder.h:185
void sendChangeMessage()
Definition juce_ChangeBroadcaster.cpp:65
Definition juce_File.h:45
File getChildFile(StringRef relativeOrAbsolutePath) const
Definition juce_File.cpp:412
@ userApplicationDataDirectory
Definition juce_File.h:889
@ commonApplicationDataDirectory
Definition juce_File.h:901
File withFileExtension(StringRef newExtension) const
Definition juce_File.cpp:699
static String createLegalFileName(const String &fileNameToFix)
Definition juce_File.cpp:835
Definition juce_FileOutputStream.h:35
Definition juce_GZIPCompressorOutputStream.h:39
Definition juce_InterProcessLock.h:72
Definition juce_OutputStream.h:38
~PropertiesFile() override
Definition juce_PropertiesFile.cpp:140
void timerCallback() override
Definition juce_PropertiesFile.cpp:342
bool loadAsBinary()
Definition juce_PropertiesFile.cpp:238
PropertiesFile(const Options &options)
Definition juce_PropertiesFile.cpp:122
File file
Definition juce_PropertiesFile.h:237
void setNeedsToBeSaved(bool needsToBeSaved)
Definition juce_PropertiesFile.cpp:162
const std::unique_ptr< InterProcessLock::ScopedLockType > ProcessScopedLock
Definition juce_PropertiesFile.h:241
bool loadedOk
Definition juce_PropertiesFile.h:239
bool reload()
Definition juce_PropertiesFile.cpp:129
Options options
Definition juce_PropertiesFile.h:238
bool needsWriting
Definition juce_PropertiesFile.h:239
bool writeToStream(OutputStream &)
Definition juce_PropertiesFile.cpp:323
bool saveAsBinary()
Definition juce_PropertiesFile.cpp:279
bool needsToBeSaved() const
Definition juce_PropertiesFile.cpp:156
bool saveIfNeeded()
Definition juce_PropertiesFile.cpp:150
bool save()
Definition juce_PropertiesFile.cpp:168
InterProcessLock::ScopedLockType * createProcessLock() const
Definition juce_PropertiesFile.cpp:145
void propertyChanged() override
Definition juce_PropertiesFile.cpp:347
bool loadAsXml()
Definition juce_PropertiesFile.cpp:186
@ storeAsBinary
Definition juce_PropertiesFile.h:53
@ storeAsCompressedBinary
Definition juce_PropertiesFile.h:54
@ storeAsXML
Definition juce_PropertiesFile.h:55
bool saveAsXml()
Definition juce_PropertiesFile.cpp:207
StringPairArray & getAllProperties() noexcept
Definition juce_PropertySet.h:154
const CriticalSection & getLock() const noexcept
Definition juce_PropertySet.h:157
PropertySet(bool ignoreCaseOfKeyNames=false)
Definition juce_PropertySet.cpp:26
Definition juce_SubregionStream.h:35
Definition juce_TemporaryFile.h:65
bool overwriteTargetFileWithTemporary() const
Definition juce_TemporaryFile.cpp:93
const File & getFile() const noexcept
Definition juce_TemporaryFile.h:126
void stopTimer() noexcept
Definition juce_Timer.cpp:357
void startTimer(int intervalInMilliseconds) noexcept
Definition juce_Timer.cpp:332
Definition juce_XmlElement.h:83
XmlElement * createNewChildElement(StringRef tagName)
Definition juce_XmlElement.cpp:733
void writeTo(OutputStream &output, const TextFormat &format={}) const
Definition juce_XmlElement.cpp:359
* e
Definition inflate.c:1404
register unsigned i
Definition inflate.c:1575
unsigned f
Definition inflate.c:1572
static PuglViewHint int value
Definition pugl.h:1708
static const char * name
Definition pugl.h:1582
float in
Definition lilv_test.c:1460
float out
Definition lilv_test.c:1461
Definition juce_PropertiesFile.cpp:30
static constexpr const char *const nameAttribute
Definition juce_PropertiesFile.cpp:36
static constexpr const char *const fileTag
Definition juce_PropertiesFile.cpp:34
static constexpr const char *const valueTag
Definition juce_PropertiesFile.cpp:35
static constexpr const char *const valueAttribute
Definition juce_PropertiesFile.cpp:37
static constexpr const int magicNumberCompressed
Definition juce_PropertiesFile.cpp:32
static constexpr const int magicNumber
Definition juce_PropertiesFile.cpp:31
Definition carla_juce.cpp:31
CriticalSection::ScopedLockType ScopedLock
Definition juce_CriticalSection.h:186
std::unique_ptr< XmlElement > parseXMLIfTagMatches(const String &textToParse, StringRef requiredTag)
Definition juce_XmlDocument.cpp:51
std::unique_ptr< XmlElement > parseXML(const String &textToParse)
Definition juce_XmlDocument.cpp:41
#define false
Definition ordinals.h:83
Definition juce_PropertiesFile.h:61
Options()
Definition juce_PropertiesFile.cpp:41
StorageFormat storageFormat
Definition juce_PropertiesFile.h:134
File getDefaultFile() const
Definition juce_PropertiesFile.cpp:51
InterProcessLock * processLock
Definition juce_PropertiesFile.h:143
String osxLibrarySubFolder
Definition juce_PropertiesFile.h:104
String filenameSuffix
Definition juce_PropertiesFile.h:79
String folderName
Definition juce_PropertiesFile.h:84
String applicationName
Definition juce_PropertiesFile.h:69
bool commonToAllUsers
Definition juce_PropertiesFile.h:109
bool doNotSave
Definition juce_PropertiesFile.h:118
bool ignoreCaseOfKeyNames
Definition juce_PropertiesFile.h:115
int millisecondsBeforeSaving
Definition juce_PropertiesFile.h:128
Definition juce_XmlElement.h:136
JUCE_NODISCARD TextFormat withoutHeader() const
Definition juce_XmlElement.cpp:345
JUCE_NODISCARD TextFormat singleLine() const
Definition juce_XmlElement.cpp:338
static LV2_State_Status save(LV2_Handle instance, LV2_State_Store_Function store, void *callback_data, uint32_t flags, const LV2_Feature *const *features)
Definition test.c:161
ZCONST char * key
Definition crypt.c:587
typedef int(UZ_EXP MsgFn)()