#include <FBaseBoolean.h>
#include <FBaseSysLog.h>
+#include <FBaseRtThread.h>
#include <FApp_AppInfo.h>
#include <FIo_AppServiceIpcMessages.h>
unique_ptr<_SettingEvent> settingEvent(new(nothrow) _SettingEvent());
unique_ptr<_SettingEvent> settingEventForInternal(new(nothrow) _SettingEvent());
- r = __ipcClient.Construct(serviceId, this);
+ __pIpcClient = new (nothrow) _IpcClient();
+ r = __pIpcClient->Construct(serviceId, this);
SysTryCatch(NID_SYS, r == E_SUCCESS, r = E_SYSTEM, r, "It is failed to construct IPC client.");
r = __asyncEventList.Construct();
SysTryCatch(NID_SYS, r == E_SUCCESS, r = E_SYSTEM, r, "It is failed to construct asyn event list.");
}
}
+void
+_SettingClientEx::OnIpcServerDisconnected(_IpcClient& client)
+{
+ result r = E_SUCCESS;
+ int count = 0;
+ int max = 10;
+ SysLog(NID_SYS, "Common-service is down.");
+ delete __pIpcClient;
+ __pIpcClient = new (nothrow) _IpcClient();
+
+ r = E_SYSTEM;
+ while(r != E_SUCCESS)
+ {
+ r = __pIpcClient->Construct(SETTING_SERVICE_ID, this);
+
+ if(count == max)
+ {
+ break;
+ }
+ count ++;
+ Thread::Sleep(1000);
+ }
+ SysTryReturnVoidResult(NID_SYS, r == E_SUCCESS, r, "It is failed to establish connection to common-service.");
+
+ __subscribed = false;
+ __subscribedForInternal = false;
+ SubscribeEvent();
+}
+
result
_SettingClientEx::ConvertCode(String code)
{
r = requestMessages.Add(requestKey);
SysTryReturnResult(NID_SYS, r == E_SUCCESS, E_SYSTEM, "It is failed to add required key on request message.");
- //unique_ptr<IoService_Request> pMsg(new (std::nothrow) IoService_Request(requestMessages, &responseMessages));
-
IoService_Request message(requestMessages, &responseMessages);
- //r = __ipcClient.SendRequest(*(pMsg.get()));
- r = __ipcClient.SendRequest(message);
+ r = __pIpcClient->SendRequest(message);
SysTryCatch(NID_SYS, r == E_SUCCESS, r = E_SYSTEM, r, "It is failed to send request by IPC [%s]", GetErrorMessage(r));
pResult = (String*)responseMessages.GetAt(SETTING_SERVICE_IPC_MSG_RESULT);
IoService_Request message(requestMessages, &responseMessages);
- r = __ipcClient.SendRequest(message);
+ r = __pIpcClient->SendRequest(message);
SysTryCatch(NID_SYS, r == E_SUCCESS, r = E_SYSTEM, r, "It is failed to send request by IPC [%s]", GetErrorMessage(r));
pResult = (String*)responseMessages.GetAt(SETTING_SERVICE_IPC_MSG_RESULT);
unique_ptr<IoService_Request> pMsg(new (std::nothrow) IoService_Request(requestMessages, &responseMessages));
- r = __ipcClient.SendRequest(*(pMsg.get()));
+ r = __pIpcClient->SendRequest(*(pMsg.get()));
SysTryReturnResult(NID_SYS, r == E_SUCCESS, E_SYSTEM, "It is failed to send request by IPC [%s]", GetErrorMessage(r));
String* pResult = (String*)responseMessages.GetAt(SETTING_SERVICE_IPC_MSG_RESULT);
unique_ptr<IoService_Request> pMsg(new (std::nothrow) IoService_Request(requestMessages, &responseMessages));
- r = __ipcClient.SendRequest(*(pMsg.get()));
+ r = __pIpcClient->SendRequest(*(pMsg.get()));
SysTryReturnResult(NID_SYS, r == E_SUCCESS, E_SYSTEM, "It is failed to send request by IPC [%s]", GetErrorMessage(r));
String* pResult = (String*)responseMessages.GetAt(SETTING_SERVICE_IPC_MSG_RESULT);
unique_ptr<IoService_Request> pMsg(new (std::nothrow) IoService_Request(requestMessages, &responseMessages));
- r = __ipcClient.SendRequest(*(pMsg.get()));
+ r = __pIpcClient->SendRequest(*(pMsg.get()));
SysTryReturnResult(NID_SYS, r == E_SUCCESS, E_SYSTEM, "It is failed to send request by IPC [%s]", GetErrorMessage(r));
String* pResult = (String*)responseMessages.GetAt(SETTING_SERVICE_IPC_MSG_RESULT);
unique_ptr<IoService_Request> pMsg(new (std::nothrow) IoService_Request(requestMessages, &responseMessages));
- r = __ipcClient.SendRequest(*(pMsg.get()));
+ r = __pIpcClient->SendRequest(*(pMsg.get()));
SysTryReturnResult(NID_SYS, r == E_SUCCESS, E_SYSTEM, "It is failed to send request by IPC [%s]", GetErrorMessage(r));
String* pResult = (String*)responseMessages.GetAt(SETTING_SERVICE_IPC_MSG_RESULT);