1 #ifndef _COUNTRY_H_ 2 #define _COUNTRY_H_ 3 4 5 #include <SupportDefs.h> 6 #include <LocaleStrings.h> 7 #include <String.h> 8 9 enum { 10 B_METRIC = 0, 11 B_US 12 }; 13 14 15 class BCountry { 16 public: 17 BCountry(); 18 virtual ~BCountry(); 19 20 virtual const char *Name() const; 21 22 // see definitions below 23 const char *GetString(uint32 id) const; 24 25 // date & time 26 27 virtual void FormatDate(char *string,size_t maxSize,time_t time,bool longFormat); 28 virtual void FormatDate(BString *string,time_t time,bool longFormat); 29 virtual void FormatTime(char *string,size_t maxSize,time_t time,bool longFormat); 30 virtual void FormatTime(BString *string,time_t time,bool longFormat); 31 32 const char *DateFormat(bool longFormat) const; 33 const char *TimeFormat(bool longFormat) const; 34 const char *DateSeparator() const; 35 const char *TimeSeparator() const; 36 37 // numbers 38 39 virtual void FormatNumber(char *string,size_t maxSize,double value); 40 virtual void FormatNumber(BString *string,double value); 41 virtual void FormatNumber(char *string,size_t maxSize,int32 value); 42 virtual void FormatNumber(BString *string,int32 value); 43 44 const char *DecimalPoint() const; 45 const char *ThousandsSeparator() const; 46 const char *Grouping() const; 47 48 const char *PositiveSign() const; 49 const char *NegativeSign() const; 50 51 // measurements 52 53 virtual int8 Measurement() const; 54 55 // monetary 56 57 virtual ssize_t FormatMonetary(char *string,size_t maxSize,char *format, ...); 58 virtual ssize_t FormatMonetary(BString *string,char *format, ...); 59 60 const char *CurrencySymbol() const; 61 const char *InternationalCurrencySymbol() const; 62 const char *MonDecimalPoint() const; 63 const char *MonThousandsSeparator() const; 64 const char *MonGrouping() const; 65 virtual int32 MonFracDigits() const; 66 67 protected: 68 BCountry(const char **strings); 69 70 private: 71 const char **fStrings; 72 }; 73 74 #endif /* _COUNTRY_H_ */ 75