haiku/headers/private/locale/PlainTextCatalog.h
Oliver Tappe 75f1522155 * reintegrated gsoc-locale-kit branch into trunk - there's more
work to do, but it's about time to give this code more exposure.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-18 22:23:34 +00:00

54 lines
1.2 KiB
C++

/*
** Copyright 2009, Adrien Destugues, pulkomandy@gmail.com.
** Distributed under the terms of the MIT License.
*/
#ifndef _PLAINTEXT_CATALOG_H_
#define _PLAINTEXT_CATALOG_H_
#include <HashMapCatalog.h>
#include <DataIO.h>
#include <String.h>
class BFile;
namespace BPrivate {
class PlainTextCatalog : public BHashMapCatalog {
public:
PlainTextCatalog(const char *signature, const char *language,
uint32 fingerprint);
// constructor for normal use
PlainTextCatalog(entry_ref *appOrAddOnRef);
// constructor for embedded catalog
PlainTextCatalog(const char *path, const char *signature,
const char *language);
// constructor for editor-app
~PlainTextCatalog();
// implementation for editor-interface:
status_t ReadFromFile(const char *path = NULL);
status_t WriteToFile(const char *path = NULL);
static BCatalogAddOn *Instantiate(const char *signature,
const char *language, uint32 fingerprint);
static const char *kCatMimeType;
private:
void UpdateAttributes(BFile& catalogFile);
void UpdateAttributes(const char* path);
mutable BString fPath;
};
} // namespace BPrivate
using BPrivate::PlainTextCatalog;
#endif /* _PLAINTEXT_CATALOG_H_ */