| @@ -3,7 +3,7 @@ | |||
| This file is part of the Water library. | |||
| Copyright (c) 2016 ROLI Ltd. | |||
| Copyright (C) 2017-2018 Filipe Coelho <falktx@falktx.com> | |||
| Copyright (C) 2017-2019 Filipe Coelho <falktx@falktx.com> | |||
| Permission is granted to use this software under the terms of the ISC license | |||
| http://www.isc.org/downloads/software-support-policy/isc-license/ | |||
| @@ -120,7 +120,7 @@ public: | |||
| /** Destructor. */ | |||
| ~Array() noexcept | |||
| { | |||
| deleteAllElements(); | |||
| clear(); | |||
| } | |||
| /** Copies another array. | |||
| @@ -3,7 +3,7 @@ | |||
| This file is part of the Water library. | |||
| Copyright (c) 2016 ROLI Ltd. | |||
| Copyright (C) 2017 Filipe Coelho <falktx@falktx.com> | |||
| Copyright (C) 2017-2019 Filipe Coelho <falktx@falktx.com> | |||
| Permission is granted to use this software under the terms of the ISC license | |||
| http://www.isc.org/downloads/software-support-policy/isc-license/ | |||
| @@ -60,16 +60,6 @@ public: | |||
| operator StringRef() const noexcept { return getDefault(); } | |||
| }; | |||
| //============================================================================== | |||
| /** A predefined object representing a new-line, which can be written to a string or stream. | |||
| To write a new-line to a stream, you can use the predefined 'newLine' variable like this: | |||
| @code | |||
| myOutputStream << "Hello World" << newLine << newLine; | |||
| @endcode | |||
| */ | |||
| extern NewLine newLine; | |||
| //============================================================================== | |||
| /** Writes a new-line sequence to a string. | |||
| You can use the predefined object 'newLine' to invoke this, e.g. | |||
| @@ -3,7 +3,7 @@ | |||
| This file is part of the Water library. | |||
| Copyright (c) 2016 ROLI Ltd. | |||
| Copyright (C) 2017-2018 Filipe Coelho <falktx@falktx.com> | |||
| Copyright (C) 2017-2019 Filipe Coelho <falktx@falktx.com> | |||
| Permission is granted to use this software under the terms of the ISC license | |||
| http://www.isc.org/downloads/software-support-policy/isc-license/ | |||
| @@ -43,8 +43,6 @@ | |||
| namespace water { | |||
| NewLine newLine; | |||
| //============================================================================== | |||
| // (Mirrors the structure of StringHolder, but without the atomic member, so can be statically constructed) | |||
| struct EmptyString | |||
| @@ -54,7 +52,7 @@ struct EmptyString | |||
| String::CharPointerType::CharType text; | |||
| }; | |||
| static const EmptyString emptyString = { 0x3fffffff, sizeof (String::CharPointerType::CharType), 0 }; | |||
| static const EmptyString emptyString = { 0x3fffffff, sizeof (String::CharPointerType::CharType), '\0' }; | |||
| //============================================================================== | |||
| class StringHolder | |||
| @@ -3,7 +3,7 @@ | |||
| This file is part of the Water library. | |||
| Copyright (c) 2016 ROLI Ltd. | |||
| Copyright (C) 2017 Filipe Coelho <falktx@falktx.com> | |||
| Copyright (C) 2017-2019 Filipe Coelho <falktx@falktx.com> | |||
| Permission is granted to use this software under the terms of the ISC license | |||
| http://www.isc.org/downloads/software-support-policy/isc-license/ | |||
| @@ -272,6 +272,8 @@ void XmlElement::writeElementAsText (OutputStream& outputStream, | |||
| { | |||
| using namespace XmlOutputFunctions; | |||
| NewLine newLine; | |||
| if (indentationLevel >= 0) | |||
| writeSpaces (outputStream, (size_t) indentationLevel); | |||
| @@ -369,6 +371,8 @@ void XmlElement::writeToStream (OutputStream& output, | |||
| { | |||
| using namespace XmlOutputFunctions; | |||
| NewLine newLine; | |||
| if (includeXmlHeader) | |||
| { | |||
| output << "<?xml version=\"1.0\" encoding=\"" << encodingType << "\"?>"; | |||
| @@ -854,7 +858,10 @@ bool XmlElement::isTextElement() const noexcept | |||
| return tagName.isEmpty(); | |||
| } | |||
| static const String water_xmltextContentAttributeName ("text"); | |||
| static const String water_xmltextContentAttributeName () | |||
| { | |||
| return String ("text"); | |||
| } | |||
| const String& XmlElement::getText() const noexcept | |||
| { | |||
| @@ -862,13 +869,13 @@ const String& XmlElement::getText() const noexcept | |||
| // isn't actually a text element.. If this contains text sub-nodes, you | |||
| // probably want to use getAllSubText instead. | |||
| return getStringAttribute (water_xmltextContentAttributeName); | |||
| return getStringAttribute (water_xmltextContentAttributeName()); | |||
| } | |||
| void XmlElement::setText (const String& newText) | |||
| { | |||
| CARLA_SAFE_ASSERT_RETURN(isTextElement(),); | |||
| setAttribute (water_xmltextContentAttributeName, newText); | |||
| setAttribute (water_xmltextContentAttributeName(), newText); | |||
| } | |||
| String XmlElement::getAllSubText() const | |||
| @@ -898,7 +905,7 @@ String XmlElement::getChildElementAllSubText (StringRef childTagName, const Stri | |||
| XmlElement* XmlElement::createTextElement (const String& text) | |||
| { | |||
| XmlElement* const e = new XmlElement ((int) 0); | |||
| e->setAttribute (water_xmltextContentAttributeName, text); | |||
| e->setAttribute (water_xmltextContentAttributeName(), text); | |||
| return e; | |||
| } | |||
| @@ -3,7 +3,7 @@ | |||
| This file is part of the Water library. | |||
| Copyright (c) 2016 ROLI Ltd. | |||
| Copyright (C) 2017 Filipe Coelho <falktx@falktx.com> | |||
| Copyright (C) 2017-2019 Filipe Coelho <falktx@falktx.com> | |||
| Permission is granted to use this software under the terms of the ISC license | |||
| http://www.isc.org/downloads/software-support-policy/isc-license/ | |||
| @@ -235,6 +235,7 @@ public: | |||
| StringRef encodingType = "UTF-8", | |||
| int lineWrapLength = 60) const; | |||
| #if 0 | |||
| /** Writes the element to a file as an XML document. | |||
| To improve safety in case something goes wrong while writing the file, this | |||
| @@ -258,6 +259,7 @@ public: | |||
| StringRef dtdToUse, | |||
| StringRef encodingType = "UTF-8", | |||
| int lineWrapLength = 60) const; | |||
| #endif | |||
| //============================================================================== | |||
| /** Returns this element's tag type name. | |||