summaryrefslogtreecommitdiff
path: root/src/service
diff options
context:
space:
mode:
Diffstat (limited to 'src/service')
-rw-r--r--src/service/logic.cpp7
-rw-r--r--src/service/logic.h2
-rw-r--r--src/service/ocsp-service.cpp11
3 files changed, 14 insertions, 6 deletions
diff --git a/src/service/logic.cpp b/src/service/logic.cpp
index 538c2e7..a7d8fdf 100644
--- a/src/service/logic.cpp
+++ b/src/service/logic.cpp
@@ -233,10 +233,13 @@ error_t Logic::setup()
LogDebug("Register package event handler success");
+ return NO_ERROR;
+}
+
+void Logic::run()
+{
LogDebug("Running the main loop");
g_main_loop_run(m_loop);
-
- return NO_ERROR;
}
int Logic::pkgmgrinfo_event_handler_static(
diff --git a/src/service/logic.h b/src/service/logic.h
index 7d48124..834e172 100644
--- a/src/service/logic.h
+++ b/src/service/logic.h
@@ -66,6 +66,7 @@ class Logic {
Logic(void);
virtual ~Logic(void);
error_t setup(void);
+ void run(void);
virtual void clean(void);
static void connman_callback(GDBusProxy *proxy,
@@ -133,7 +134,6 @@ class Logic {
bool call_ui(const app_t &app);
-
// main event loop data type
GMainLoop *m_loop;
diff --git a/src/service/ocsp-service.cpp b/src/service/ocsp-service.cpp
index 63a3c0a..a028048 100644
--- a/src/service/ocsp-service.cpp
+++ b/src/service/ocsp-service.cpp
@@ -42,8 +42,8 @@ void OcspService::onMessageProcess(const ConnShPtr &connection)
auto in = connection->receive();
connection->send(this->process(connection, in));
- if (m_logic.setup() != NO_ERROR)
- throw std::logic_error("Cannot setup logic.");
+ // Run gmainloop for event listening.
+ m_logic.run();
LogDebug("Finish processing message on ocsp service.");
}
@@ -59,7 +59,12 @@ RawBuffer OcspService::process(const ConnShPtr &, RawBuffer &data)
LogInfo("Request dispatch on ocsp-service.");
switch (cid) {
case CommandId::CC_OCSP_SYN: {
- LogDebug("Success to get SYN cmd. reply ACK cmd.");
+ if (m_logic.setup() != NO_ERROR) {
+ BinaryQueue::Serialize(CommandId::CC_OCSP_ERR).pop();
+ throw std::logic_error("Cannot setup logic.");
+ }
+
+ LogDebug("Success to receive SYN and setup. reply ACK cmd.");
return BinaryQueue::Serialize(CommandId::CC_OCSP_ACK).pop();
}
case CommandId::CC_OCSP_ACK: