summaryrefslogtreecommitdiff
path: root/src/include/cchecker
diff options
context:
space:
mode:
authorsangwan.kwon <sangwan.kwon@samsung.com>2016-02-15 17:38:28 +0900
committersangwan.kwon <sangwan.kwon@samsung.com>2016-02-17 16:25:48 +0900
commit18e4ddb82a037b7c31b488ffcd96a36a8f32218c (patch)
treeaa3e17826cdc3772d89c1b094b424bcf9f6976b9 /src/include/cchecker
parent26fcb18c4e72c752cfffdbb86e471a609753d2c3 (diff)
downloadcert-checker-18e4ddb82a037b7c31b488ffcd96a36a8f32218c.tar.gz
cert-checker-18e4ddb82a037b7c31b488ffcd96a36a8f32218c.tar.bz2
cert-checker-18e4ddb82a037b7c31b488ffcd96a36a8f32218c.zip
Change package event handler API
* Dbus API -> pkgmgrinfo API Change-Id: Ia7a8d84e7eaf35d5be5d077b753ec1915b1b49d0 Signed-off-by: sangwan.kwon <sangwan.kwon@samsung.com>
Diffstat (limited to 'src/include/cchecker')
-rw-r--r--src/include/cchecker/logic.h45
1 files changed, 31 insertions, 14 deletions
diff --git a/src/include/cchecker/logic.h b/src/include/cchecker/logic.h
index 6700333..1ad9cd4 100644
--- a/src/include/cchecker/logic.h
+++ b/src/include/cchecker/logic.h
@@ -29,11 +29,15 @@
#include <vector>
#include <list>
#include <thread>
+#include <memory>
#include <cchecker/app.h>
#include <cchecker/certs.h>
#include <cchecker/queue.h>
+#include <package-manager.h>
+#include <pkgmgr-info.h>
+
namespace CCHECKER {
namespace DB {
@@ -61,23 +65,12 @@ class Logic {
error_t setup(void);
virtual void clean(void);
- static void pkgmgr_install_callback(GDBusProxy *proxy,
- gchar *sender_name,
- gchar *signal_name,
- GVariant *parameters,
- void *logic_ptr);
- static void pkgmgr_uninstall_callback(GDBusProxy *proxy,
- gchar *sender_name,
- gchar *signal_name,
- GVariant *parameters,
- void *logic_ptr);
static void connman_callback(GDBusProxy *proxy,
gchar *sender_name,
gchar *signal_name,
GVariant *parameters,
void *logic_ptr);
-
protected:
error_t setup_db();
void load_database_to_buffer();
@@ -87,7 +80,6 @@ class Logic {
void remove_app_from_buffer_and_database(const app_t &app);
void set_connman_online_state();
- void pkgmgr_callback_internal(GVariant *parameters, pkgmgr_event_t event);
error_t register_dbus_signal_handler(GDBusProxy **proxy,
const char *name,
const char *object_path,
@@ -99,6 +91,28 @@ class Logic {
void *logic_ptr)
);
+ static int pkgmgrinfo_event_handler_static(
+ uid_t uid,
+ int reqid,
+ const char *pkgtype,
+ const char *pkgid,
+ const char *key,
+ const char *val,
+ const void *pmsg,
+ void *data);
+
+ int pkgmgrinfo_event_handler(
+ uid_t uid,
+ int reqid,
+ const char *pkgtype,
+ const char *pkgid,
+ const char *key,
+ const char *val,
+ const void *pmsg,
+ void *data);
+
+ int push_pkgmgrinfo_event(uid_t uid, const char *pkgid);
+
void push_event(event_t event);
void process_all(void);
@@ -132,8 +146,11 @@ class Logic {
bool m_should_exit;
GDBusProxy *m_proxy_connman;
- GDBusProxy *m_proxy_pkgmgr_install;
- GDBusProxy *m_proxy_pkgmgr_uninstall;
+
+ int m_reqid_install;
+ int m_reqid_uninstall;
+ std::unique_ptr<pkgmgrinfo_client, int(*)(pkgmgrinfo_client *)> m_pc_install;
+ std::unique_ptr<pkgmgrinfo_client, int(*)(pkgmgrinfo_client *)> m_pc_uninstall;
};
} // CCHECKER