return pLocaleLanguage;
}
-ByteBuffer*
-_BidiUtils::ConvertLanguageCountryCode2Utf8N(LanguageCode languageCode)
+String
+_BidiUtils::ConvertLanguageCountryCodeString(LanguageCode languageCode)
{
static const char* defaultLauguageCountryCodeArray[LANGUAGE_MAX] =
{
String languageCodeString(L"LANG:");
String countryCodeString;
- ByteBuffer* pCountry = null;
languageCodeString.Append(Locale::LanguageCodeToTwoLetterLanguageCodeString(languageCode));
const char* pCountryCode = (languageCode < LANGUAGE_MAX) ? defaultLauguageCountryCodeArray[languageCode] : "";
int len = strlen(pCountryCode);
if (len == 0)
{
- return null;
+ return String(L"");
}
if (len == 2)
{
if (!pLocaleLanguage)
{
- return null;
+ return String(L"");
}
const String displayCountry = pLocaleLanguage->GetCountryCodeString();
languageCodeString.Append(countryCodeString);
}
- pCountry = StringUtil::StringToUtf8N(languageCodeString);
-
- return pCountry;
+ return languageCodeString;
}
}} // Tizen::Ui
SysAssertf(__pContext != null, "Not yet constructed. Construct() should be called before use.");
- ByteBuffer* pBuffer = _BidiUtils::ConvertLanguageCountryCode2Utf8N(languageCode);
- if (!pBuffer)
+ String language(L"");
+ language = _BidiUtils::ConvertLanguageCountryCodeString(languageCode);
+ if (language == String(L""))
{
const char* pLanguage = "LANG:en_US";
ecore_imf_context_input_panel_imdata_set(__pContext, pLanguage, LANGUAGE_IM_DATA_LENGTH);
return r;
}
- ecore_imf_context_input_panel_imdata_set(__pContext, pBuffer, LANGUAGE_IM_DATA_LENGTH);
+ else
+ {
+ char* pLanguage = null;
+ int len = wcstombs(0, static_cast<const wchar_t*>(language.GetPointer()), 0);
+ pLanguage = (char*)malloc(len+1);
+ SysTryReturn(NID_UI, pLanguage, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] pLanguage is null.");
+
+ len = wcstombs(pLanguage, static_cast<const wchar_t*>(language.GetPointer()), len);
+ pLanguage[len] = null;
- delete pBuffer;
+ ecore_imf_context_input_panel_imdata_set(__pContext, pLanguage, LANGUAGE_IM_DATA_LENGTH);
+ free(pLanguage);
+ }
return r;
}
static bool IsBidiLanguage(Tizen::Locales::LanguageCode languageCode);
static Tizen::Locales::LanguageCode GetDisplayLanguage(void);
static Tizen::Locales::Locale* GetLocaleLanguageN(void);
- static Tizen::Base::ByteBuffer* ConvertLanguageCountryCode2Utf8N(Tizen::Locales::LanguageCode languageCode);
+ static Tizen::Base::String ConvertLanguageCountryCodeString(Tizen::Locales::LanguageCode languageCode);
private:
_BidiUtils(void);