vfs: check userland buffers before reading them.
[haiku.git] / headers / private / locale / PlainTextCatalog.h
blobcbfcb8b58237a32c616e0e634d494fdb91fc4f8d
1 /*
2 * Copyright 2009, Adrien Destugues, pulkomandy@gmail.com.
3 * Distributed under the terms of the MIT License.
4 */
5 #ifndef _PLAINTEXT_CATALOG_H_
6 #define _PLAINTEXT_CATALOG_H_
9 #include <HashMapCatalog.h>
10 #include <DataIO.h>
11 #include <String.h>
14 class BFile;
16 namespace BPrivate {
19 class PlainTextCatalog : public HashMapCatalog {
20 public:
21 PlainTextCatalog(const entry_ref& owner, const char *language,
22 uint32 fingerprint);
23 // constructor for normal use
24 PlainTextCatalog(const char *path, const char *signature,
25 const char *language);
26 // constructor for editor-app
28 ~PlainTextCatalog();
30 void SetSignature(const entry_ref &catalogOwner);
32 // implementation for editor-interface:
33 status_t ReadFromFile(const char *path = NULL);
34 status_t WriteToFile(const char *path = NULL);
36 static BCatalogData *Instantiate(const entry_ref &signature,
37 const char *language, uint32 fingerprint);
39 static const char *kCatMimeType;
41 private:
42 void UpdateAttributes(BFile& catalogFile);
43 void UpdateAttributes(const char* path);
45 mutable BString fPath;
49 } // namespace BPrivate
52 #endif /* _PLAINTEXT_CATALOG_H_ */