Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=2d0d63f2373910d1c58177c9c63e0bdd83249e09

commit 2d0d63f2373910d1c58177c9c63e0bdd83249e09
Author: Michel Hermier <[email protected]>
Date:   Sat Jun 7 11:44:10 2014 +0200

libpacman: Add signals to __pmtrans_t to prepare removal of pmtrans_cbs_t.

diff --git a/lib/libpacman/trans.cpp b/lib/libpacman/trans.cpp
index cf250e0..e1939e8 100644
--- a/lib/libpacman/trans.cpp
+++ b/lib/libpacman/trans.cpp
@@ -192,6 +192,7 @@ int _pacman_trans_event(pmtrans_t *trans, unsigned char 
event, void *data1, void
if(trans->cbs.event) {
trans->cbs.event(event, data1, data2);
}
+       trans->event(event, data1, data2);
return 0;
}

diff --git a/lib/libpacman/trans.h b/lib/libpacman/trans.h
index b590780..4b892c6 100644
--- a/lib/libpacman/trans.h
+++ b/lib/libpacman/trans.h
@@ -58,6 +58,10 @@ typedef struct __pmtrans_cbs_t {
struct __pmtrans_t
: public ::flib::FObject
{
+       flib::FSignal<void(unsigned char, void *, void *)> event;
+       flib::FSignal<void(unsigned char, void *, void *, void *, int *)> conv;
+       flib::FSignal<void(unsigned char, const char *, int, int, int)> 
progress;
+
__pmtrans_t(pmtranstype_t type, unsigned int flags, pmtrans_cbs_t cbs);
~__pmtrans_t();

@@ -93,6 +97,7 @@ do { \
if(t && t->cbs.conv) { \
t->cbs.conv((q), (d1), (d2), (d3), (r)); \
} \
+       t->conv((q), (d1), (d2), (d3), (r)); \
} while(0)
#define PROGRESS(_t, e, p, per, h, r) \
do { \
@@ -100,6 +105,7 @@ do { \
if(t && t->cbs.progress) { \
t->cbs.progress((e), (p), (per), (h), (r)); \
} \
+       t->progress((e), (p), (per), (h), (r)); \
} while(0)

int _pacman_trans_event(pmtrans_t *trans, unsigned char, void *, void *);
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to