1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Copyright (c) 2011-2014, Intel Corporation 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * All rights reserved. 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Redistribution and use in source and binary forms, with or without modification, 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * are permitted provided that the following conditions are met: 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 1. Redistributions of source code must retain the above copyright notice, this 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * list of conditions and the following disclaimer. 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright notice, 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * this list of conditions and the following disclaimer in the documentation and/or 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * other materials provided with the distribution. 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 3. Neither the name of the copyright holder nor the names of its contributors 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * may be used to endorse or promote products derived from this software without 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * specific prior written permission. 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2799409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project#include "PluginLocation.h" 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project#define base CKindElement 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectCPluginLocation::CPluginLocation(const std::string &strName, const std::string &strKind) 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project : base(strName, strKind) 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 3899409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectconst std::string &CPluginLocation::getFolder() const 4099409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project{ 4199409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project return _strFolder; 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectconst std::list<std::string> &CPluginLocation::getPluginList() const 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return _pluginList; 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectbool CPluginLocation::fromXml(const CXmlElement &xmlElement, CXmlSerializingContext & /*ctx*/) 5099409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project{ 5199409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project // Retrieve folder 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project xmlElement.getAttribute("Folder", _strFolder); 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Get Info from children 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project CXmlElement::CChildIterator childIterator(xmlElement); 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project CXmlElement xmlPluginElement; 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 5999409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project while (childIterator.next(xmlPluginElement)) { 60de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro 6199409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project // Fill Plugin List 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project _pluginList.push_back(xmlPluginElement.getNameAttribute()); 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // Don't dig 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return true; 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project