#ifndef CURRENCY_H #define CURRENCY_H #include #include "mp.h" struct currency_name { char* short_name; char* symbol; char* long_name; }; /* * List taken from http://www.ecb.int/press/pr/date/2008/html/pr081205.en.html * with euro added. */ static const struct currency_name currency_names[] = { {"AUD", "$", N_("Australian dollar")}, {"BGN", "лв", N_("Bulgarian lev")}, {"BRL", "R$", N_("Brazilian real")}, {"CAD", "$", N_("Canadian dollar")}, {"CHF", "Fr", N_("Swiss franc")}, {"CNY", "元", N_("Chinese yuan renminbi")}, {"CZK", "Kč", N_("Czech koruna")}, {"DKK", "kr", N_("Danish krone")}, {"EEK", "KR", N_("Estonian kroon")}, {"EUR", "€", N_("Euro")}, {"GBP", "£", N_("Pound sterling")}, {"HKD", "$", N_("Hong Kong dollar")}, {"HRK", "kn", N_("Croatian kuna")}, {"HUF", "Ft", N_("Hungarian forint")}, {"IDR", "Rp", N_("Indonesian rupiah")}, {"INR", "Rs", N_("Indian rupee")}, {"ISK", "kr", N_("Icelandic krona")}, {"JPY", "¥", N_("Japanese yen")}, {"KRW", "₩", N_("South Korean won")}, {"LTL", "Lt", N_("Lithuanian litas")}, {"LVL", "Ls", N_("Latvian lats")}, {"MXN", "$", N_("Mexican peso")}, {"MYR", "RM", N_("Malaysian ringgit")}, {"NOK", "kr", N_("Norwegian krone")}, {"NZD", "$", N_("New Zealand dollar")}, {"PHP", "₱", N_("Philippine peso")}, {"PLN", "zł", N_("Polish zloty")}, {"RON", "L", N_("New Romanian leu")}, {"RUB", "руб.", N_("Russian rouble")}, {"SEK", "kr", N_("Swedish krona")}, {"SGD", "$", N_("Singapore dollar")}, {"THB", "฿", N_("Thai baht")}, {"TRY", "TL", N_("New Turkish lira")}, {"USD", "$", N_("US dollar")}, {"ZAR", "R", N_("South African rand")}, {NULL, NULL} }; // FIXME: Should indicate when rates are updated to UI /* Converts an amount of money from one currency to another */ gboolean currency_convert(const MPNumber* from_amount, const char* source_currency, const char *target_currency, MPNumber* to_amount); /* Frees up all allocated resources */ void currency_free_resources(void); #endif /* CURRENCY_H */