/* ============================================================================== This file is part of the JUCETICE project - Copyright 2009 by Lucio Asnaghi. JUCETICE is based around the JUCE library - "Jules' Utility Class Extensions" Copyright 2007 by Julian Storer. ------------------------------------------------------------------------------ JUCE and JUCETICE can be redistributed and/or modified under the terms of the GNU General Public License, as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. JUCE and JUCETICE are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with JUCE and JUCETICE; if not, visit www.gnu.org/licenses or write to Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ============================================================================== */ BEGIN_JUCE_NAMESPACE //============================================================================== void SerializeFactoryXml::addSerializable (XmlSerializable* object) { objects.addIfNotAlreadyThere (object); } void SerializeFactoryXml::removeSerializable (XmlSerializable* object) { for (int i = 0; i < objects.size(); ++i) { if (objects.getUnchecked(i) == object) { objects.remove (i); break; } } } //============================================================================== XmlElement* SerializeFactoryXml::serializeObjects (const String& rootName) { XmlElement* root = new XmlElement (rootName); for (int i = 0; i < objects.size(); ++i) { root->addChildElement (objects.getUnchecked(i)->serialize ()); } return root; } void SerializeFactoryXml::restoreObjects (XmlElement* root) { for (int i = 0; i < objects.size(); ++i) { objects.getUnchecked(i)->restore (root); } } //============================================================================== juce_ImplementSingleton (SerializeFactoryXml) END_JUCE_NAMESPACE