138ac8defSOliver Tappe /* 2541ff51aSOliver Tappe * Copyright 2010-2012, Haiku. All rights reserved. 338ac8defSOliver Tappe * Distributed under the terms of the MIT license. 438ac8defSOliver Tappe */ 538ac8defSOliver Tappe #ifndef _MUTABLE_LOCALE_ROSTER_H_ 638ac8defSOliver Tappe #define _MUTABLE_LOCALE_ROSTER_H_ 738ac8defSOliver Tappe 838ac8defSOliver Tappe 938ac8defSOliver Tappe #include <Collator.h> 106fd2f4a0SOliver Tappe #include <FormattingConventions.h> 1138ac8defSOliver Tappe #include <image.h> 1238ac8defSOliver Tappe #include <Language.h> 1338ac8defSOliver Tappe #include <List.h> 145c3a3034SAdrien Destugues #include <Locale.h> 1538ac8defSOliver Tappe #include <Locker.h> 1638ac8defSOliver Tappe #include <LocaleRoster.h> 1738ac8defSOliver Tappe #include <Message.h> 18d1d8fda6SOliver Tappe #include <Resources.h> 1938ac8defSOliver Tappe #include <TimeZone.h> 2038ac8defSOliver Tappe 2138ac8defSOliver Tappe 2238ac8defSOliver Tappe class BLocale; 2338ac8defSOliver Tappe class BCatalog; 24541ff51aSOliver Tappe class BCatalogData; 2538ac8defSOliver Tappe 2638ac8defSOliver Tappe struct entry_ref; 2738ac8defSOliver Tappe 2838ac8defSOliver Tappe 2938ac8defSOliver Tappe namespace BPrivate { 3038ac8defSOliver Tappe 3138ac8defSOliver Tappe 3238ac8defSOliver Tappe class MutableLocaleRoster : public BLocaleRoster { 3338ac8defSOliver Tappe public: 3438ac8defSOliver Tappe MutableLocaleRoster(); 3538ac8defSOliver Tappe ~MutableLocaleRoster(); 3638ac8defSOliver Tappe 3725dc253dSIngo Weinhold static MutableLocaleRoster* Default(); 3825dc253dSIngo Weinhold 396fd2f4a0SOliver Tappe status_t SetDefaultFormattingConventions( 406fd2f4a0SOliver Tappe const BFormattingConventions& conventions); 4138ac8defSOliver Tappe status_t SetDefaultTimeZone(const BTimeZone& zone); 4238ac8defSOliver Tappe 4338ac8defSOliver Tappe status_t SetPreferredLanguages(const BMessage* message); 4438ac8defSOliver Tappe // the message contains one or more 4538ac8defSOliver Tappe // 'language'-string-fields which 4638ac8defSOliver Tappe // contain the language-name(s) 47541ff51aSOliver Tappe status_t SetFilesystemTranslationPreferred( 48541ff51aSOliver Tappe bool preferred); 4938ac8defSOliver Tappe 50eaa5e093SOliver Tappe status_t LoadSystemCatalog(BCatalog* catalog) const; 5138ac8defSOliver Tappe 52541ff51aSOliver Tappe BCatalogData* LoadCatalog(const entry_ref& catalogOwner, 5338ac8defSOliver Tappe const char* language = NULL, 5438ac8defSOliver Tappe int32 fingerprint = 0) const; 55*41853a8bSAdrien Destugues BCatalogData* LoadCatalog(const char* signature, 56*41853a8bSAdrien Destugues const char* language = NULL) const; 57541ff51aSOliver Tappe status_t UnloadCatalog(BCatalogData* catalogData); 5838ac8defSOliver Tappe 59541ff51aSOliver Tappe BCatalogData* CreateCatalog(const char* type, 6038ac8defSOliver Tappe const char* signature, 6138ac8defSOliver Tappe const char* language); 6238ac8defSOliver Tappe }; 6338ac8defSOliver Tappe 6438ac8defSOliver Tappe 6538ac8defSOliver Tappe } // namespace BPrivate 6638ac8defSOliver Tappe 6738ac8defSOliver Tappe 6838ac8defSOliver Tappe #endif // _MUTABLE_LOCALE_ROSTER_H_ 69