diff --git a/scim-wnn/src/scim_wnn_imengine.cpp b/scim-wnn/src/scim_wnn_imengine.cpp index a7fbebe..cbf390e 100644 --- a/scim-wnn/src/scim_wnn_imengine.cpp +++ b/scim-wnn/src/scim_wnn_imengine.cpp @@ -59,6 +59,9 @@ #define SCIM_WNN_ICON_FILE (SCIM_ICONDIR "/scim-wnn.png") #endif +#define SCIM_CONFIG_WNN_SERVER "/IMEngine/Wnn/Server" +#define SCIM_CONFIG_WNN_RC "/IMEngine/Wnn/Rc" + static Pointer _scim_wnn_factory; static ConfigPointer _scim_config; @@ -166,6 +169,10 @@ : IMEngineInstanceBase (factory, encoding, id) { m_conversion = false; + String host,rc; + host = _scim_config->read(SCIM_CONFIG_WNN_SERVER,String("localhost")); + host = _scim_config->read(SCIM_CONFIG_WNN_RC,String("/usr/lib/wnn7/ja_JP/wnnenvrc")); + wnn.wnnConnect(String("test"),host,rc,10); } WnnInstance::~ WnnInstance() diff --git a/scim-wnn/src/wnnconversion.cpp b/scim-wnn/src/wnnconversion.cpp index faafea1..ccec266 100644 --- a/scim-wnn/src/wnnconversion.cpp +++ b/scim-wnn/src/wnnconversion.cpp @@ -38,10 +38,10 @@ WnnConversion::WnnConversion() { // �Ȥꤢ������ᤦ���Ǥ����ޤ��� - wnn = jl_open_lang("test","localhost","jp_JP","/usr/lib/wnn7/ja_JP/wnnenvrc",wnn_error,wnn_message,10); m_iconv.set_encoding ("EUC-JP"); pos = 0; bunsetu = 0; + wnn = 0; } @@ -82,6 +82,16 @@ } +/*! + \fn WnnConversion::wnnConnect(String name,String host,String rc,int timeout) + */ +bool WnnConversion::wnnConnect(String name,String host,String rc,int timeout) +{ + wnn = jl_open_lang((char *)name.data(),(char *)host.data(),"jp_JP",(char *)rc.data(),wnn_error,wnn_message,timeout); + if (!wnn) return(false); + return(true); +} + /*! \fn WnnConversion::isConnected() @@ -329,3 +339,4 @@ if (bunsetu) jl_optimize_fi(wnn,0,-1); } + diff --git a/scim-wnn/src/wnnconversion.h b/scim-wnn/src/wnnconversion.h index 3f0dc9c..5167a62 100644 --- a/scim-wnn/src/wnnconversion.h +++ b/scim-wnn/src/wnnconversion.h @@ -62,6 +62,7 @@ AttributeList getAttributeList(); bool resizeRegion(int w); void updateFrequency(); + bool wnnConnect(String name,String host,String rc,int timeout); protected: void wstostr(unsigned char *e,w_char *u); @@ -72,9 +73,11 @@ protected: struct wnn_buf *wnn; + String wnn_server; + String wnn_rc; + int wnn_timeout; IConvert m_iconv; WideString yomiText; - //WideString text; int pos; int bunsetu; WideString text;