1#include <Format.h> 2 3#include <new> 4 5#include <Autolock.h> 6#include <Locale.h> 7#include <LocaleRoster.h> 8 9 10BFormat::BFormat(const BLocale* locale) 11{ 12 if (locale == NULL) 13 locale = BLocaleRoster::Default()->GetDefaultLocale(); 14 15 if (locale == NULL) { 16 fInitStatus = B_BAD_DATA; 17 return; 18 } 19 20 _Initialize(*locale); 21} 22 23 24BFormat::BFormat(const BLanguage& language, 25 const BFormattingConventions& conventions) 26{ 27 _Initialize(language, conventions); 28} 29 30 31BFormat::BFormat(const BFormat &other) 32 : 33 fConventions(other.fConventions), 34 fLanguage(other.fLanguage), 35 fInitStatus(other.fInitStatus) 36{ 37} 38 39 40BFormat::~BFormat() 41{ 42} 43 44 45status_t 46BFormat::InitCheck() const 47{ 48 return fInitStatus; 49} 50 51 52status_t 53BFormat::_Initialize(const BLocale& locale) 54{ 55 BFormattingConventions conventions; 56 BLanguage language; 57 58 fInitStatus = locale.GetFormattingConventions(&conventions); 59 if (fInitStatus != B_OK) 60 return fInitStatus; 61 62 fInitStatus = locale.GetLanguage(&language); 63 if (fInitStatus != B_OK) 64 return fInitStatus; 65 66 return _Initialize(language, conventions); 67} 68 69 70status_t 71BFormat::_Initialize(const BLanguage& language, 72 const BFormattingConventions& conventions) 73{ 74 fConventions = conventions; 75 fLanguage = language; 76 fInitStatus = B_OK; 77 return fInitStatus; 78} 79