summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorJanusz Kozerski <j.kozerski@samsung.com>2015-06-12 11:55:32 +0200
committerJanusz Kozerski <j.kozerski@samsung.com>2015-06-26 13:16:49 +0200
commit5d8a0be19e830c951c32a605e208b7120270bc70 (patch)
treebe9215ca0859288682a03d3e5d50f5002e61f896 /src/include
parenta282a131cd809c3f425a44f42e30dfb902bca76e (diff)
downloadcert-checker-5d8a0be19e830c951c32a605e208b7120270bc70.tar.gz
cert-checker-5d8a0be19e830c951c32a605e208b7120270bc70.tar.bz2
cert-checker-5d8a0be19e830c951c32a605e208b7120270bc70.zip
Replace pkgmgr signal handling with dbus API
After fix package-manager API using of its API can be restored. [Verication] 1) Build cert-checker with debug and run it on emulator 2) In 2nd console run: journalctl -f | grep cert-checker 3) Install and uninstall app in some random order: install: pkgcmd -i -t wgt -p /usr/share/widget_demo/mancala.wgt -q uninstall: pkgcmd -u -n yKrWwxz1KX -q 4) Check if journal logs are correct Change-Id: I60a77c2862dd9745e1b422fb2eb3afec13b40d14
Diffstat (limited to 'src/include')
-rw-r--r--src/include/cchecker/logic.h40
1 files changed, 28 insertions, 12 deletions
diff --git a/src/include/cchecker/logic.h b/src/include/cchecker/logic.h
index d80ea51..2f4a60b 100644
--- a/src/include/cchecker/logic.h
+++ b/src/include/cchecker/logic.h
@@ -24,7 +24,6 @@
#define CCHECKER_LOGIC_H
#include <gio/gio.h>
-#include <package_manager.h>
#include <string>
#include <vector>
#include <list>
@@ -45,18 +44,25 @@ enum error_t {
DATABASE_ERROR
};
+enum pkgmgr_event_t {
+ EVENT_INSTALL,
+ EVENT_UNINSTALL
+};
+
class Logic {
public:
Logic(void);
virtual ~Logic(void);
error_t setup();
- static void pkg_manager_callback(
- const char *type,
- const char *package,
- package_manager_event_type_e eventType,
- package_manager_event_state_e eventState,
- int progress,
- package_manager_error_e error,
+ 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,
@@ -73,14 +79,24 @@ class Logic {
void pkgmanager_uninstall(const app_t &app);
void get_certs_from_signature(const std::string &signature, std::vector<std::string> &cert);
void load_database_to_buffer();
- error_t register_connman_signal_handler(void);
+ 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,
+ const char *interface_name,
+ void (*callback) (GDBusProxy *proxy,
+ gchar *sender_name,
+ gchar *signal_name,
+ GVariant *parameters,
+ void *logic_ptr)
+ );
std::list<app_t> m_buffer;
DB::SqlQuery *m_sqlquery;
bool m_is_online;
- package_manager_h m_request;
- GDBusProxy *m_proxy;
-
+ GDBusProxy *m_proxy_connman;
+ GDBusProxy *m_proxy_pkgmgr_install;
+ GDBusProxy *m_proxy_pkgmgr_uninstall;
};
} // CCHECKER