/*
    PIP - Platform Independent Primitives
    Resources subsystem
    Ivan Pelipenko peri4ko@yandex.ru

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include "piresources.h"

#include "piresourcesstorage.h"


PIResources::PIResources() {}


PIByteArray PIResources::get(const PIString & section, const PIString & name) {
	return PIResourcesStorage::instance()->get(section, name);
}


PIByteArray PIResources::get(const PIString & name) {
	return PIResourcesStorage::instance()->get(name);
}


void PIResources::dump() {
	auto si = PIResourcesStorage::instance()->sections.makeIterator();
	while (si.next()) {
		piCout << "Section [" << si.key() << "]";
		if (!si.value()) continue;
		auto fi = si.value()->entries.makeIterator();
		while (fi.next()) {
			PIString s = fi.key() + ": ";
			s += PIString::fromNumber(fi.value() ? fi.value()->size_s() : 0) + " b";
			piCout << "   " << s;
		}
	}
}
