⛏️ index : haiku.git

/*
 * Copyright 2003-2004, Axel DΓΆrfler, axeld@pinc-software.de
 * Copyright 2003-2004,2012, Oliver Tappe, zooey@hirschkaefer.de
 * Distributed under the terms of the MIT License.
 */

#include <EditableCatalog.h>

#include <CatalogData.h>
#include <MutableLocaleRoster.h>


using BPrivate::MutableLocaleRoster;


namespace BPrivate {
EditableCatalog::EditableCatalog(const char* type, const char* signature,
	const char* language)
{
	fCatalogData = MutableLocaleRoster::Default()->CreateCatalog(type,
		signature, language);
}


EditableCatalog::~EditableCatalog()
{
}


status_t
EditableCatalog::SetString(const char* string, const char* translated,
	const char* context, const char* comment)
{
	if (fCatalogData == NULL)
		return B_NO_INIT;

	return fCatalogData->SetString(string, translated, context, comment);
}


status_t
EditableCatalog::SetString(int32 id, const char* translated)
{
	if (fCatalogData == NULL)
		return B_NO_INIT;

	return fCatalogData->SetString(id, translated);
}


bool
EditableCatalog::CanWriteData() const
{
	if (fCatalogData == NULL)
		return false;

	return fCatalogData->CanWriteData();
}


status_t
EditableCatalog::SetData(const char* name, BMessage* msg)
{
	if (fCatalogData == NULL)
		return B_NO_INIT;

	return fCatalogData->SetData(name, msg);
}


status_t
EditableCatalog::SetData(uint32 id, BMessage* msg)
{
	if (fCatalogData == NULL)
		return B_NO_INIT;

	return fCatalogData->SetData(id, msg);
}


status_t
EditableCatalog::ReadFromFile(const char* path)
{
	if (fCatalogData == NULL)
		return B_NO_INIT;

	return fCatalogData->ReadFromFile(path);
}


status_t
EditableCatalog::ReadFromAttribute(const entry_ref& appOrAddOnRef)
{
	if (fCatalogData == NULL)
		return B_NO_INIT;

	return fCatalogData->ReadFromAttribute(appOrAddOnRef);
}


status_t
EditableCatalog::ReadFromResource(const entry_ref& appOrAddOnRef)
{
	if (fCatalogData == NULL)
		return B_NO_INIT;

	return fCatalogData->ReadFromResource(appOrAddOnRef);
}


status_t
EditableCatalog::WriteToFile(const char* path)
{
	if (fCatalogData == NULL)
		return B_NO_INIT;

	return fCatalogData->WriteToFile(path);
}


status_t
EditableCatalog::WriteToAttribute(const entry_ref& appOrAddOnRef)
{
	if (fCatalogData == NULL)
		return B_NO_INIT;

	return fCatalogData->WriteToAttribute(appOrAddOnRef);
}


status_t
EditableCatalog::WriteToResource(const entry_ref& appOrAddOnRef)
{
	if (fCatalogData == NULL)
		return B_NO_INIT;

	return fCatalogData->WriteToResource(appOrAddOnRef);
}


void EditableCatalog::MakeEmpty()
{
	if (fCatalogData != NULL)
		fCatalogData->MakeEmpty();
}


BCatalogData*
EditableCatalog::CatalogData()
{
	return fCatalogData;
}


} // namespace BPrivate