| /* |
| * Copyright 2009-2015, Adrien Destugues, pulkomandy@pulkomandy.tk. |
| * Distributed under the terms of the MIT License. |
| */ |
| #ifndef _AMIGA_CATALOG_H_ |
| #define _AMIGA_CATALOG_H_ |
| |
| |
| #include <HashMapCatalog.h> |
| #include <DataIO.h> |
| #include <String.h> |
| |
| |
| class BFile; |
| |
| namespace BPrivate { |
| |
| |
| class AmigaCatalog : public HashMapCatalog { |
| public: |
| AmigaCatalog(const entry_ref &owner, const char *language, |
| uint32 fingerprint); |
| // constructor for normal use |
| AmigaCatalog(const char *path, const char *signature, |
| const char *language); |
| // constructor for editor-app |
| |
| ~AmigaCatalog(); |
| |
| // implementation for editor-interface: |
| status_t ReadFromFile(const char *path = NULL); |
| status_t WriteToFile(const char *path = NULL); |
| |
| static BCatalogData *Instantiate(const entry_ref &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 |
| |
| |
| #endif /* _AMIGA_CATALOG_H_ */ |