summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjk7744.park <jk7744.park@samsung.com>2015-09-08 22:44:35 +0900
committerjk7744.park <jk7744.park@samsung.com>2015-09-08 22:44:35 +0900
commit6f6a88f58d17a404ce64c5b1ebe03d1f590cce87 (patch)
tree51f334a0d26457d61bbc45ddebe29938dc822018
parentb716edf11f7daaa0db412b52505c2d2726fc4d3e (diff)
downloadedbus-tizen_2.3.1.tar.gz
edbus-tizen_2.3.1.tar.bz2
edbus-tizen_2.3.1.zip
-rw-r--r--COPYING2
-rw-r--r--ChangeLog12
-rw-r--r--NEWS15
-rw-r--r--README2
-rw-r--r--configure.ac4
-rw-r--r--debian/changelog461
-rw-r--r--debian/compat1
-rw-r--r--debian/control38
-rw-r--r--debian/copyright46
-rw-r--r--debian/jobs0
-rw-r--r--debian/libedbus-dev.install4
-rw-r--r--debian/libedbus.install1
-rw-r--r--debian/libedbus.shlibs7
-rwxr-xr-xdebian/rules13
-rw-r--r--edbus-tools.manifest18
-rw-r--r--edbus.manifest5
-rw-r--r--packaging/edbus.spec54
-rw-r--r--src/bin/e_dbus_connman0_7x_test.c11
-rw-r--r--src/lib/bluez/E_Bluez.h2
-rw-r--r--src/lib/bluez/e_bluez_adapter.c7
-rw-r--r--src/lib/connman0_7x/E_Connman.h2
-rw-r--r--src/lib/dbus/E_DBus.h231
-rw-r--r--src/lib/dbus/e_dbus.c40
-rw-r--r--src/lib/dbus/e_dbus_interfaces.c5
-rw-r--r--src/lib/dbus/e_dbus_message.c31
-rw-r--r--src/lib/dbus/e_dbus_methods.c8
-rw-r--r--src/lib/dbus/e_dbus_object.c10
-rw-r--r--src/lib/dbus/e_dbus_signal.c8
-rw-r--r--src/lib/dbus/e_dbus_util.c3
-rw-r--r--src/lib/hal/E_Hal.h2
-rw-r--r--src/lib/notification/E_Notify.h2
-rw-r--r--src/lib/notification/daemon.c5
-rw-r--r--src/lib/ofono/E_Ofono.h2
-rw-r--r--src/lib/ukit/E_Ukit.h2
34 files changed, 325 insertions, 729 deletions
diff --git a/COPYING b/COPYING
index fcba206..3885df2 100644
--- a/COPYING
+++ b/COPYING
@@ -1,6 +1,6 @@
Copyright notice for E_Dbus:
-Copyright (C) 2006-2011 Brian Mattern and various contributors (see AUTHORS)
+Copyright (C) 2006-2014 Brian Mattern and various contributors (see AUTHORS)
All rights reserved.
diff --git a/ChangeLog b/ChangeLog
index 84168c1..712855b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -71,3 +71,15 @@
* Fix properties handling
* Check if interface already exists before attaching
* Fix missing DBus.Properties attach
+
+2012-08-20 Mike Blumenkrantz
+
+ * Add null checks for dbus functions
+
+2012-08-30 Carsten Haitzler (The Rasterman)
+
+ 1.7.0 release
+
+2012-09-12 Mike Blumenkrantz
+
+ * e_dbus_signal_handler_add() no longer blocks
diff --git a/NEWS b/NEWS
index c2d0f39..5dff7db 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,17 @@
-E_dbus 1.2.0
+E_dbus 1.7.0
+
+Changes since E_dbus 1.2.0:
+---------------------------
+
+Improvements:
+
+ * More null checks for API's
+
+Fixes:
+
+ * Properties handling
+ * Interface attach to not attach if already there
+ * Missing DBus.Properties attach
Changes since E_dbus 1.1.0:
---------------------------
diff --git a/README b/README
index e6f8005..55a742c 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-E_dbus 1.7.0
+E_dbus 1.7.99
******************************************************************************
diff --git a/configure.ac b/configure.ac
index 0296e9f..29921c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
m4_define([v_maj], [1])
-m4_define([v_min], [6])
+m4_define([v_min], [7])
m4_define([v_mic], [99])
m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
@@ -202,7 +202,7 @@ EFL_ENABLE_BIN([edbus-notify-send], [${enable_enotify}])
EFL_ENABLE_BIN([edbus-notify-test], [${enable_enotify}])
EFL_ENABLE_BIN([edbus-ofono-test], [${enable_eofono}])
EFL_ENABLE_BIN([edbus-ukit-test], [${enable_eukit}])
-EFL_ENABLE_BIN([edbus-performance-test], ["yes"])
+EFL_ENABLE_BIN([edbus-performance-test], ["no"])
EFL_ENABLE_BIN([edbus-async-test], ["yes"])
if test "x${have_edbus_test}" = "xyes" ; then
diff --git a/debian/changelog b/debian/changelog
deleted file mode 100644
index 7aa461f..0000000
--- a/debian/changelog
+++ /dev/null
@@ -1,461 +0,0 @@
-edbus (1.2.0+svn.70375slp2+build02) unstable; urgency=low
-
- * Package Upload
- * Git: slp/pkgs/e/edbus
- * Tag: edbus_1.2.0+svn.70375slp2+build02
-
- -- Myungjae Lee <mjae.lee@samsung.com> Wed, 25 Apr 2012 17:28:54 +0900
-
-edbus (1.2.0+svn.70375slp2+build01) unstable; urgency=low
-
- * Package Upload
- * Git: slp/pkgs/e/edbus
- * Tag: edbus_1.2.0+svn.70375slp2+build01
-
- -- Myungjae Lee <mjae.lee@samsung.com> Wed, 25 Apr 2012 15:14:28 +0900
-
-edbus (1.2.0+svn.70217slp2+build01) unstable; urgency=low
-
- * Package Upload
- * Git: slp/pkgs/e/edbus
- * Tag: edbus_1.2.0+svn.70217slp2+build01
-
- -- Hyoyoung Chang <hyoyoung.chang@samsung.com> Wed, 18 Apr 2012 18:12:12 +0900
-
-edbus (1.2.0+svn.69484slp2+build01) unstable; urgency=low
-
- * Package Upload
- * Git: slp/pkgs/e/edbus
- * Tag: edbus_1.2.0+svn.69484slp2+build01
-
- -- Jeonghyun Yun <jh0506.yun@samsung.com> Fri, 06 Apr 2012 18:29:53 +0900
-
-edbus (1.0.0.001+svn.69484slp2+build01) unstable; urgency=low
-
- * Package Upload
- * Git: slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.69484slp2+build01
-
- -- Jeonghyun Yun <jh0506.yun@samsung.com> Wed, 28 Mar 2012 14:30:12 +0900
-
-edbus (1.0.0.001+svn.69376slp2+build02) unstable; urgency=low
-
- * Package Upload
- * Git: slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.69376slp2+build02
-
- -- Jeonghyun Yun <jh0506.yun@samsung.com> Sun, 18 Mar 2012 14:02:40 +0900
-
-edbus (1.0.0.001+svn.69376slp2+build01) unstable; urgency=low
-
- * EFL migration
- * Git: slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.69376slp2+build01
-
- -- Jeonghyun Yun <jh0506.yun@samsung.com> Fri, 16 Mar 2012 21:51:11 +0900
-
-edbus (1.0.0.001+svn.69045slp2+build01) unstable; urgency=low
-
- * Package Upload
- * Git: slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.69045slp2+build01
-
- -- Jeonghyun Yun <jh0506.yun@samsung.com> Sat, 10 Mar 2012 13:51:27 +0900
-
-edbus (1.0.0.001+svn.68464slp2+build02) unstable; urgency=low
-
- * 69045
- * Git: slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.68464slp2+build02
-
- -- Jeonghyun Yun <jh0506.yun@samsung.com> Sat, 10 Mar 2012 13:21:37 +0900
-
-edbus (1.0.0.001+svn.68464slp2+build01) unstable; urgency=low
-
- * Package Upload
- * Git: slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.68464slp2+build01
-
- -- Jeonghyun Yun <jh0506.yun@samsung.com> Fri, 02 Mar 2012 06:33:54 -0500
-
-edbus (1.0.0.001+svn.67284slp2+build01) unstable; urgency=low
-
- * Package Upload
- * Git: slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.67284slp2+build01
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Wed, 15 Feb 2012 19:02:20 +0900
-
-edbus (1.0.0.001+svn.66792slp2+build01) unstable; urgency=low
-
- * Package Upload
- * Git: slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.66792slp2+build01
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Mon, 16 Jan 2012 18:37:25 +0900
-
-edbus (1.0.0.001+svn.65860slp2+build01) unstable; urgency=low
-
- * Package Upload for migration
- * Git: slp-scm.sec.samsung.net:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.65860slp2+build01
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Thu, 08 Dec 2011 13:54:59 +0900
-
-edbus (1.0.0.001+svn.65617slp2+build01) unstable; urgency=low
-
- * Package Upload
- * Git: slp-scm.sec.samsung.net:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.65617slp2+build01
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Tue, 29 Nov 2011 14:13:40 +0900
-
-edbus (1.0.0.001+svn.65213slp2+build01) unstable; urgency=low
-
- * Merge with upstream @65213
-
- -- Mike McCormack <mj.mccormack@samsung.com> Tue, 15 Nov 2011 18:02:54 +0900
-
-edbus (1.0.0.001+svn.62640slp2+build01) unstable; urgency=low
-
- * [SVN EFL Migration] e_dbus in SLP is merged with SVN r62640
- * Important Changes
- [Migration upstream r62640] Merge branch 'svn_merge'
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.62640slp2+build01
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Fri, 02 Sep 2011 18:45:36 +0900
-
-edbus (1.0.0.001+svn.60291slp2+build01) unstable; urgency=low
-
- * [SVN EFL Migration] e_dbus in SLP is merged with SVN r60291
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.60291slp2+build01
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Fri, 24 Jun 2011 18:10:30 +0900
-
-edbus (1.0.0.001+svn.58123slp2+build01) unstable; urgency=low
-
- * [SVN EFL Migration] e_dbus in SLP is merged with SVN r58123
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.58123slp2+build01
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Tue, 05 Apr 2011 15:55:28 +0900
-
-edbus (1.0.0.001+svn.57317slp2+build07) unstable; urgency=low
-
- * [SVN EFL Migration] e_dbus in SLP is merged with SVN r57317
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.57317slp2+build07
-
- -- Shinwoo Kim <cinoo.kim@samsung.com> Tue, 29 Mar 2011 18:55:53 +0900
-
-edbus (1.0.0.001+svn.57317slp2+build06) unstable; urgency=low
-
- * [SVN EFL Migration] e_dbus in SLP is merged with SVN r57317
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.57317slp2+build06
-
- -- Myungjae Lee <mjae.lee@samsung.com> Wed, 09 Mar 2011 11:30:04 +0900
-
-edbus (1.0.0.001+svn.57317slp2+build05) unstable; urgency=low
-
- * [SVN EFL Migration] e_dbus in SLP is merged with SVN r57317
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.57317slp2+build05
-
- -- Myungjae Lee <mjae.lee@samsung.com> Wed, 09 Mar 2011 11:15:18 +0900
-
-edbus (1.0.0.001+svn.57317slp2+build04) unstable; urgency=low
-
- * Package Upload : Rollback
- * Git: 165.213.180.234:/slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.57317slp2+build04
-
- -- WooHyun Jung <wh0705.jung@samsung.com> Tue, 08 Mar 2011 14:08:56 +0900
-
-edbus (1.0.0.001+svn.57317slp2+build03) unstable; urgency=low
-
- * Package Upload : Rollback
- * Git: 165.213.180.234:/slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.57317slp2+build03
-
- -- WooHyun Jung <wh0705.jung@samsung.com> Tue, 08 Mar 2011 12:49:38 +0900
-
-edbus (1.0.0.001+svn.57317slp2+build02) unstable; urgency=low
-
- * Package Upload : rollback
- * Git: 165.213.180.234:/slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.57317slp2+build02
-
- -- WooHyun Jung <wh0705.jung@samsung.com> Tue, 08 Mar 2011 11:15:03 +0900
-
-edbus (1.0.0.001+svn.57317slp2+build01) unstable; urgency=low
-
- * [SVN EFL Migration] e_dbus in SLP is merged with SVN r57317
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.57317slp2+build01
-
- -- Myungjae Lee <mjae.lee@samsung.com> Mon, 07 Mar 2011 17:28:32 +0900
-
-edbus (1.0.0.001+svn.56223slp2+build01) unstable; urgency=low
-
- * [SVN EFL Migration] e_dbus in SLP is merged with SVN r56223
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.56223slp2+build01
-
- -- WooHyun Jung <wh0705.jung@samsung.com> Thu, 27 Jan 2011 12:24:08 +0900
-
-edbus (1.0.0.001+svn.55948slp2+build01) unstable; urgency=low
-
- * [SVN EFL Migration] e_dbus in SLP is merged with SVN r55948
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.55948slp2+build01
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.55948slp2+build01
-
- -- WooHyun Jung <wh0705.jung@samsung.com> Wed, 19 Jan 2011 16:21:14 +0900
-
-edbus (1.0.0.001+svn.55737slp2+build01) unstable; urgency=low
-
- * [SVN EFL Migration] e_dbus in SLP is merged with SVN r55737
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.55737slp2+build01
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Mon, 03 Jan 2011 21:23:09 +0900
-
-edbus (1.0.0.001+svn.55503slp2+build02) unstable; urgency=low
-
- * [src/bin/Makefile.am] Fixed build error in sbs.
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.55503slp2+build02
-
- -- Juyung Seo <juyung.seo@samsung.com> Thu, 23 Dec 2010 09:49:14 +0900
-
-edbus (1.0.0.001+svn.55503slp2+build01) unstable; urgency=low
-
- * [SVN EFL Migration] edbus in SLP is merged with SVN r55503
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.55503slp2+build01
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Wed, 22 Dec 2010 20:11:01 +0900
-
-edbus (1.0.0.001+svn.55238slp2+build02) unstable; urgency=low
-
- * [src/bin/Makefile.am] Applied Rafal's patch.
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.55238slp2+build02
-
- -- Juyung Seo <juyung.seo@samsung.com> Wed, 15 Dec 2010 09:35:27 +0900
-
-edbus (1.0.0.001+svn.55238slp2+build01) unstable; urgency=low
-
- * [SVN's EFL Migration] e-dbus in SLP is merged with SVN r55238.
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.55238slp2+build01
-
- -- Juyung Seo <juyung.seo@samsung.com> Tue, 14 Dec 2010 17:52:10 +0900
-
-edbus (1.0.0.001+svn.55010slp2+build03) unstable; urgency=low
-
- * [SVN's EFL Migration] e-dbus in SLP is merged with SVN r55238.
- * Git: 165.213.180.234:slp/pkgs/e/edbus
- * Tag: edbus_1.0.0.001+svn.55010slp2+build03
-
- -- Juyung Seo <juyung.seo@samsung.com> Tue, 14 Dec 2010 14:59:17 +0900
-
-edbus (1.0.0.001+svn.55010slp2+build02) unstable; urgency=low
-
- * Merged sbs-for-master.
- * Git: 165.213.180.234:/git/slp/pkgs/edbus
- * Tag: edbus_1.0.0.001+svn.55010slp2+build02
-
- -- Juyung Seo <juyung.seo@samsung.com> Thu, 02 Dec 2010 17:34:33 +0900
-
-edbus (1.0.0.001+svn.55010slp2+build01) unstable; urgency=low
-
- * [SVN 55010 Merge]
- * Update to SVN Revision 55010.
- * Git: 165.213.180.234:/git/slp/pkgs/edbus
- * Tag: edbus_1.0.0.001+svn.55010slp2+build01
-
- -- Myoungwoon Kim <myoungwoon.kim@samsung.com> Thu, 02 Dec 2010 14:33:40 +0900
-
-edbus (1.0.0.001+svn.51480slp2+build03) unstable; urgency=low
-
- * [SVN 54772 Merge]
- * Update to SVN Revision 54772.
- * Git: 165.213.180.234:/git/slp/pkgs/edbus
- * Tag: edbus_1.0.0.001+svn.51480slp2+build03
-
- -- Juyung Seo <juyung.seo@samsung.com> Fri, 26 Nov 2010 15:48:48 +0900
-
-edbus (1.0.0.001+svn.51480slp2+build02) unstable; urgency=low
-
- * add as-needed
- * Git: 165.213.180.234:/git/slp/pkgs/edbus
- * Tag: edbus_1.0.0.001+svn.51480slp2+build02
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Wed, 15 Sep 2010 10:54:47 +0900
-
-edbus (1.0.0.001+svn.51480slp2+build01) unstable; urgency=low
-
- * efl 1.0 alpha upgrade
- * Git: 165.213.180.234:/git/slp/pkgs/edbus
- * Tag: edbus_1.0.0.001+svn.51480slp2+build01
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Tue, 31 Aug 2010 22:49:54 +0900
-
-edbus (0.5.0.060+svn.49544slp2+s1-3build05) unstable; urgency=low
-
- * src/bin/Makefile/am fixed: added missed dependencies for the libedbus
-
- -- Tomasz Fujak <t.fujak@samsung.com> Thu, 09 Sep 2010 14:29:19 +0900
-
-edbus (0.5.0.060+svn.49544slp2+3build05) unstable; urgency=low
-
- * Packaging.
- * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/e_dbus
- * Tag: edbus_0.5.0.060+svn.49544slp2+3build05
-
- -- Daniel Juyung Seo <juyung.seo@samsung.com> Thu, 10 Jun 2010 21:44:35 +0900
-
-edbus (0.5.0.060+svn.49544slp2+3build04) unstable; urgency=low
-
- * Packaging.
- * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edbus
- * Tag: edbus_0.5.0.060+svn.49544slp2+3build04
-
- -- Daniel Juyung Seo <juyung.seo@samsung.com> Thu, 10 Jun 2010 21:09:21 +0900
-
-edbus (0.5.0.060+svn.49544slp2+3build03) unstable; urgency=low
-
- * Packaging.
- * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edbus
- * Tag: edbus_0.5.0.060+svn.49544slp2+3build03
-
- -- Daniel Juyung Seo <juyung.seo@samsung.com> Thu, 10 Jun 2010 21:03:50 +0900
-
-edbus (0.5.0.060+svn.49544slp2+3build02) unstable; urgency=low
-
- * Packaging.
- * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edbus
- * Tag: edbus_0.5.0.060+svn.49544slp2+3build02
-
- -- Daniel Juyung Seo <juyung.seo@samsung.com> 목, 10 6월 2010 21:00:50 +0900
-
-edbus (0.5.0.060+svn.49544slp2+3) unstable; urgency=low
-
- * Packaging.
- * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edbus
- * Tag: edbus_0.5.0.060+svn.49544slp2+3
-
- -- Daniel Juyung Seo <juyung.seo@samsung.com> Thu, 10 Jun 2010 20:46:53 +0900
-
-edbus (0.5.0.060+svn.49544slp2+2) unstable; urgency=low
-
- * Packaging.
- * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edbus
- * Tag: edbus_0.5.0.060+svn.49544slp2+2
-
- -- Daniel Juyung Seo <juyung.seo@samsung.net> Thu, 10 Jun 2010 20:46:08 +0900
-
-edbus (0.5.0.060+svn.49544slp2+1) unstable; urgency=low
-
- * Packaging.
- * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edbus
- * Tag: edbus_0.5.0.060+svn.49544slp2+1
-
- -- Daniel Juyung Seo <juyung.seo@smasung.net> Thu, 10 Jun 2010 20:45:22 +0900
-
-edbus (0.5.0.060+svn.49544slp2+0) unstable; urgency=low
-
- * Update opensource EFL from SVN
- * SVN revision: 49544 (Total EFL revision: 49550)
- * Tag: 0.5.0.060+svn.49544slp2+0
-
- -- Daniel Juyung Seo <juyung.seo@smasung.net> Thu, 10 Jun 2010 15:50:38 +0900
-
-edbus (0.5.0.060+svn20100304slp2) unstable; urgency=low
-
- * change package version
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Thu, 25 Mar 2010 15:44:48 +0900
-
-edbus (0.5.0.060+svn20100304-1) unstable; urgency=low
-
- * EFL_update_revision_46864
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Wed, 10 Mar 2010 16:06:37 +0900
-
-edbus (0.5.0.060+svn20100203-3) unstable; urgency=low
-
- * add debug package
-
- -- wonguk jeong <wonguk.jeong@samsung.com> Mon, 08 Feb 2010 15:14:57 +0900
-
-edbus (0.5.0.060+svn20100203-2) unstable; urgency=low
-
- * repack
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Thu, 04 Feb 2010 20:30:37 +0900
-
-edbus (0.5.0.060+svn20100203-1) unstable; urgency=low
-
- * EFL_update_revision_45828
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Wed, 03 Feb 2010 16:39:23 +0900
-
-edbus (0.5.0.060+svn20100119-1) unstable; urgency=low
-
- * EFL_update_revision_45322
-
- -- Jihoon Kim <jihoon48.kim@samsung.com> Tue, 19 Jan 2010 20:44:50 +0900
-
-edbus (0.5.0.060+svn20100111-3) unstable; urgency=low
-
- * reupload EFL i686
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Tue, 12 Jan 2010 17:35:44 +0900
-
-edbus (0.5.0.060+svn20100111-2) unstable; urgency=low
-
- * reupload EFL
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Mon, 11 Jan 2010 22:17:08 +0900
-
-edbus (0.5.0.060+svn20100111-1) unstable; urgency=low
-
- * update EFL revision 45026
-
- -- Jaehwan Kim <jae.hwan.kim@samsung.com> Mon, 11 Jan 2010 13:28:07 +0900
-
-edbus (0.5.0.060+svn20091229-1) unstable; urgency=low
-
- * update EFL
-
- -- jaehwan kim <jae.hwan.kim@samsung.com> Tue, 29 Dec 2009 14:29:07 +0900
-
-edbus (0.5.0.060+svn20091112-2) unstable; urgency=low
-
- * svn stable version
-
- -- Sangho Park <sangho.g.park@samsung.com> Thu, 19 Nov 2009 19:11:30 +0900
-
-edbus (0.5.0.060+svn20091112-1) unstable; urgency=low
-
- * New version
-
- -- Sangho Park <sangho.g.park@samsung.com> Fri, 13 Nov 2009 09:05:37 +0900
-
-edbus (0.5.0.060+svnYYYYMMDD-1) unstable; urgency=low
-
- * New version
-
- -- quaker <quaker66@gmail.com> Thu, 22 Apr 2009 18:13:37 +0100
-
-edbus (0.5.0.050+svnYYYYMMDD-1) unstable; urgency=low
-
- * Clean up changelog
-
- -- quaker <quaker66@gmail.com> Tue, 21 Apr 2009 19:16:16 +0100
diff --git a/debian/compat b/debian/compat
deleted file mode 100644
index 7ed6ff8..0000000
--- a/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/debian/control b/debian/control
deleted file mode 100644
index 205fbe1..0000000
--- a/debian/control
+++ /dev/null
@@ -1,38 +0,0 @@
-Source: edbus
-Section: libs
-Priority: optional
-Maintainer: Jaehwan Kim <jae.hwan.kim@samsung.com>, Juyung Seo <juyung.seo@samsung.com>, Myoungwoon Kim <myoungwoon.kim@samsung.com>, Mike McCormack <mj.mccormack@samsung.com>, Jeonghyun Yun <jh0506.yun@samsung.com>, Hyoyoung Chang <hyoyoung.chang@samsung.com>
-Build-Depends: debhelper (>= 6), cdbs, libecore-dev, libdbus-1-dev,
- libevas-dev, libeina-dev (>= 0.0.2.060+svn20100304), pkg-config, libtool
-Standards-Version: 3.8.1
-Homepage: http://enlightenment.org
-
-Package: libedbus-dev
-Section: libdevel
-Architecture: any
-Depends: ${misc:Depends}, libedbus (= ${binary:Version}), libdbus-1-dev,
- libeina-dev, libecore-dev, libevas-dev
-Description: D-Bus and HAL wrapper libraries for use with the EFL - Development files
- Wrappers around D-Bus to ease integrating D-Bus with EFL based applications.
- .
- This packages contains headers and static libraries for libedbus, libehal and
- libenotify
-
-Package: libedbus
-Conflicts: libedbus0
-Architecture: any
-Depends: ${misc:Depends}, ${shlibs:Depends}
-Description: D-Bus and HAL wrapper libraries for use with the EFL
- This package contains:
- - libedbus0 and libehal0 : D-Bus and HAL-related wrappers to ease integrating
- D-Bus and HAL with EFL-based applications
- - libenotify0 : provides an EFL-based notification support
-
-Package: libedbus-dbg
-Section: debug
-Architecture: any
-Depends: ${misc:Depends}, libedbus (= ${binary:Version})
-Description: D-Bus and HAL wrapper libraries for use with the EFL - Development files
- Wrappers around D-Bus to ease integrating D-Bus with EFL based applications.
- .
- This package is debug package
diff --git a/debian/copyright b/debian/copyright
deleted file mode 100644
index 7fcb64d..0000000
--- a/debian/copyright
+++ /dev/null
@@ -1,46 +0,0 @@
-This package was debianized by Debian Pkg-e Team <pkg-e-devel@lists.alioth.debian.org>
-Wed, 27 Feb 2008 23:07:21 +0000
-
-It was downloaded from http://download.enlightenment.org/snapshots/LATEST/
-
-Upstream Author: Brian Mattern <rephorm@rephorm.com>
-
-Copyright:
-
- Copyright (C) 2006 Brian Mattern and various contributors
-
-License:
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to
- deal in the Software without restriction, including without limitation the
- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies of the Software and its Copyright notices. In addition publicly
- documented acknowledgment must be given that this software has been used if no
- source code of this software is made available publicly. This includes
- acknowledgments in either Copyright notices, Manuals, Publicity and Marketing
- documents or any documentation provided with any product containing this
- software. This License does not apply to any software that links to the
- libraries provided by this software (statically or dynamically), but only to
- the software provided.
-
- Please see the COPYING.PLAIN for a plain-english explanation of this notice
- and it's intent.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
- IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-On Debian systems, the complete text of the BSD License can be found
-in `/usr/share/common-licenses/BSD'.
-
-The Debian packaging is:
- (C) 2006 2007,Debian Pkg-e Team <pkg-e-devel@lists.alioth.debian.org>
-and is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
diff --git a/debian/jobs b/debian/jobs
deleted file mode 100644
index e69de29..0000000
--- a/debian/jobs
+++ /dev/null
diff --git a/debian/libedbus-dev.install b/debian/libedbus-dev.install
deleted file mode 100644
index 44b6b5e..0000000
--- a/debian/libedbus-dev.install
+++ /dev/null
@@ -1,4 +0,0 @@
-debian/tmp/usr/include/e_dbus-1/*
-debian/tmp/usr/lib/pkgconfig/*.pc
-debian/tmp/usr/lib/*.a
-debian/tmp/usr/lib/*.so
diff --git a/debian/libedbus.install b/debian/libedbus.install
deleted file mode 100644
index 79bbe2f..0000000
--- a/debian/libedbus.install
+++ /dev/null
@@ -1 +0,0 @@
-debian/tmp/usr/lib/*.so.*
diff --git a/debian/libedbus.shlibs b/debian/libedbus.shlibs
deleted file mode 100644
index 92de026..0000000
--- a/debian/libedbus.shlibs
+++ /dev/null
@@ -1,7 +0,0 @@
-libedbus 1 libedbus (>= 0.5.0.060+svn20100304)
-libehal 1 libedbus (>= 0.5.0.060+svn20100304)
-libenotify 1 libedbus (>= 0.5.0.060+svn20100304)
-libebluez 1 libedbus (>= 0.5.0.060+svn20100304)
-libeofono 1 libedbus (>= 0.5.0.060+svn20100304)
-libeukit 1 libedbus (>= 0.5.0.060+svn20100304)
-libeconnman0_7x 1 libedbus (>= 0.5.0.060+svn20100304)
diff --git a/debian/rules b/debian/rules
deleted file mode 100755
index adeed8a..0000000
--- a/debian/rules
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/make -f
-
-include /usr/share/cdbs/1/rules/debhelper.mk
-include /usr/share/cdbs/1/class/autotools.mk
-
-DEB_CONFIGURE_SCRIPT := ./autogen.sh
-DEB_MAKE_CLEAN_TARGET := distclean
-DEB_CONFIGURE_EXTRA_FLAGS :=
-CFLAGS += -fvisibility=hidden -fPIC
-LDFLAGS += -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed
-
-clean::
- [ ! -f Makefile ] || make distclean
diff --git a/edbus-tools.manifest b/edbus-tools.manifest
new file mode 100644
index 0000000..41c8d3a
--- /dev/null
+++ b/edbus-tools.manifest
@@ -0,0 +1,18 @@
+<manifest>
+ <request>
+ <domain name="_"/>
+ </request>
+ <assign>
+ <filesystem path="/usr/bin/e_dbus_async_client_test" exec_label="none" />
+ <filesystem path="/usr/bin/e_dbus_async_server_test" exec_label="none" />
+ <filesystem path="/usr/bin/e_dbus_bluez_test" exec_label="none" />
+ <filesystem path="/usr/bin/e_dbus_connman0_7x_test" exec_label="none" />
+ <filesystem path="/usr/bin/e_dbus_notification_daemon" exec_label="none" />
+ <filesystem path="/usr/bin/e_dbus_notify" exec_label="none" />
+ <filesystem path="/usr/bin/e_dbus_ofono_test" exec_label="none" />
+ <filesystem path="/usr/bin/e_dbus_test" exec_label="none" />
+ <filesystem path="/usr/bin/e_dbus_test_client" exec_label="none" />
+ <filesystem path="/usr/bin/e_dbus_ukit_test" exec_label="none" />
+ <filesystem path="/usr/bin/e-notify-send" exec_label="none" />
+ </assign>
+</manifest>
diff --git a/edbus.manifest b/edbus.manifest
new file mode 100644
index 0000000..97e8c31
--- /dev/null
+++ b/edbus.manifest
@@ -0,0 +1,5 @@
+<manifest>
+ <request>
+ <domain name="_"/>
+ </request>
+</manifest>
diff --git a/packaging/edbus.spec b/packaging/edbus.spec
index 28fa8ff..5d1eacf 100644
--- a/packaging/edbus.spec
+++ b/packaging/edbus.spec
@@ -1,10 +1,10 @@
-#sbs-git:slp/pkgs/e/edbus edbus 1.0.0.001+svn.69045slp2+build01 706f4acfdaf1b818e2387701a993eca929051358
Name: edbus
Summary: D-Bus and HAL wrapper libraries for EFL
-Version: 1.6.0+svn.74597slp2+build02
+Version: 1.6.0+svn.76526slp2+build10
Release: 1
Group: System/Libraries
-License: BSD
+License: BSD 2-Clause
+URL: http://www.enlightenment.org/
Source0: %{name}-%{version}.tar.gz
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
@@ -18,47 +18,71 @@ BuildRequires: dbus-devel
D-Bus and HAL wrapper libraries for use with the EFL
-
%package devel
Summary: D-Bus and HAL wrapper libraries for EFL (devel)
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
+
%description devel
D-Bus and HAL wrapper libraries for use with the EFL (devel)
+%package tools
+Summary: D-Bus and HAL wrapper libraries for EFL (tools)
+Group: Development/Tools
+Requires: %{name} = %{version}-%{release}
+Provides: %{name}-bin
+Obsoletes: %{name}-bin
+
+
+%description tools
+D-Bus and HAL wrapper libraries for use with the EFL (tools)
+
+
%prep
%setup -q
%build
-export CFLAGS+=" -fvisibility=hidden -fPIC"
+export CFLAGS+=" -fvisibility=hidden -fPIC -Wall"
export LDFLAGS+=" -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed"
%autogen --disable-static
-%configure --disable-static
make %{?jobs:-j%jobs}
+
%install
-rm -rf %{buildroot}
%make_install
+mkdir -p %{buildroot}/%{_datadir}/license
+cp %{_builddir}/%{buildsubdir}/COPYING %{buildroot}/%{_datadir}/license/%{name}
+cp %{_builddir}/%{buildsubdir}/COPYING %{buildroot}/%{_datadir}/license/%{name}-tools
%post -p /sbin/ldconfig
+
%postun -p /sbin/ldconfig
+
%files
%defattr(-,root,root,-)
-%{_bindir}/e-*
-%{_bindir}/e_*
%{_libdir}/libe*.so.*
-/usr/share/e_dbus/logo.png
+%{_datadir}/license/%{name}
+%manifest %{name}.manifest
+
%files devel
%defattr(-,root,root,-)
+%{_bindir}/e_dbus_async_client_test
+%{_bindir}/e_dbus_async_server_test
+%{_bindir}/e_dbus_bluez_test
+%{_bindir}/e_dbus_connman0_7x_test
+%{_bindir}/e_dbus_ofono_test
+%{_bindir}/e_dbus_test
+%{_bindir}/e_dbus_test_client
+%{_bindir}/e_dbus_ukit_test
%{_libdir}/libebluez.so
%{_libdir}/libeconnman0_7x.so
%{_libdir}/libedbus.so
@@ -73,7 +97,6 @@ rm -rf %{buildroot}
%{_libdir}/pkgconfig/enotify.pc
%{_libdir}/pkgconfig/eofono.pc
%{_libdir}/pkgconfig/eukit.pc
-
%{_includedir}/e_dbus-1/E_Bluez.h
%{_includedir}/e_dbus-1/connman0_7x/E_Connman.h
%{_includedir}/e_dbus-1/E_DBus.h
@@ -82,3 +105,12 @@ rm -rf %{buildroot}
%{_includedir}/e_dbus-1/E_Notify.h
%{_includedir}/e_dbus-1/E_Ofono.h
%{_includedir}/e_dbus-1/E_Ukit.h
+
+
+%files tools
+%{_bindir}/e-notify-send
+%{_bindir}/e_dbus_notification_daemon
+%{_bindir}/e_dbus_notify
+%{_datadir}/e_dbus/logo.png
+%{_datadir}/license/%{name}-tools
+%manifest %{name}-tools.manifest
diff --git a/src/bin/e_dbus_connman0_7x_test.c b/src/bin/e_dbus_connman0_7x_test.c
index e84d4e3..d6ee7d8 100644
--- a/src/bin/e_dbus_connman0_7x_test.c
+++ b/src/bin/e_dbus_connman0_7x_test.c
@@ -1383,13 +1383,12 @@ _on_cmd_service_ipv4_configure_manual(__UNUSED__ char *cmd, char *args)
address = next_args;
next_args = _tok(next_args);
if (next_args)
- netmask = next_args;
-
- next_args = _tok(next_args);
- if (next_args)
{
- gateway = next_args;
- _tok(next_args);
+ netmask = next_args;
+
+ next_args = _tok(next_args);
+ gateway = next_args;
+ _tok(next_args);
}
e = e_connman_service_get(path);
diff --git a/src/lib/bluez/E_Bluez.h b/src/lib/bluez/E_Bluez.h
index 094fd91..66c3773 100644
--- a/src/lib/bluez/E_Bluez.h
+++ b/src/lib/bluez/E_Bluez.h
@@ -9,7 +9,9 @@
#include <E_DBus.h>
/**
+ * @internal
* @defgroup EBluez_Group EBluez
+ * @ingroup EDbus_Group
*
* @{
*/
diff --git a/src/lib/bluez/e_bluez_adapter.c b/src/lib/bluez/e_bluez_adapter.c
index 698cac4..7d8e100 100644
--- a/src/lib/bluez/e_bluez_adapter.c
+++ b/src/lib/bluez/e_bluez_adapter.c
@@ -45,6 +45,7 @@ _device_found_callback(void *data, DBusMessage *msg)
t = dbus_message_iter_get_arg_type(&itr);
if (!_dbus_iter_type_check(t, DBUS_TYPE_STRING))
{
+ free(device);
ERR("missing device name in DeviceFound");
return;
}
@@ -55,6 +56,7 @@ _device_found_callback(void *data, DBusMessage *msg)
t = dbus_message_iter_get_arg_type(&itr);
if (!_dbus_iter_type_check(t, DBUS_TYPE_ARRAY))
{
+ free(device);
ERR("missing array in DeviceFound");
return;
}
@@ -62,7 +64,10 @@ _device_found_callback(void *data, DBusMessage *msg)
value = e_bluez_element_iter_get_array(&itr, name);
if (!value)
- return;
+ {
+ free(device);
+ return;
+ }
device->name = eina_stringshare_add(name);
device->adapter = element;
diff --git a/src/lib/connman0_7x/E_Connman.h b/src/lib/connman0_7x/E_Connman.h
index 06e879a..0f50768 100644
--- a/src/lib/connman0_7x/E_Connman.h
+++ b/src/lib/connman0_7x/E_Connman.h
@@ -9,7 +9,9 @@
#include <E_DBus.h>
/**
+ * @internal
* @defgroup EConnman_Group EConnman
+ * @ingroup EDbus_Group
*
* Currently supporting upstream API version 0.75 and later.
*
diff --git a/src/lib/dbus/E_DBus.h b/src/lib/dbus/E_DBus.h
index 1e8838e..2bbe7d6 100644
--- a/src/lib/dbus/E_DBus.h
+++ b/src/lib/dbus/E_DBus.h
@@ -46,7 +46,8 @@
#endif
/**
- * @mainpage EDbus
+ * @internal
+ * @page EDbus
*
* @section edbus_intro_sec Introduction
*
@@ -65,15 +66,14 @@
* communications with Bleutooth devices.
* @li @ref EConnman_Group Implementation of the <a
* href="http://connman.net/">connman</a> specifications, which
- * manages internet connections within embedded devices running the
- * Linux operating system.
+ * manages internet connections running the Linux operating system.
* @li @ref EHal_Group Implementation of the <a
* href="http://www.freedesktop.org/wiki/Software/hal">HAL</a>
* specifications, which is a (software) layer between the hardware
* devices of a computer and the softwares that run on that
* computer (Hardware Abstraction Layer). HAL is deprecated, in favor
* of DeviceKit.
- * @li @ref ENotify_Group To de described.
+ * @li @ref ENotify_Group To de described.
* @li @ref EOfono_Group Implementation of the <a
* href="http://ofono.org/">ofono</a> specifications, which is an
* interface for mobile telephony applications.
@@ -86,7 +86,9 @@
*/
/**
+ * @internal
* @defgroup EDbus_Group EDbus
+ * @ingroup EFL_Group
*
* @{
*/
@@ -99,10 +101,10 @@
#ifdef __cplusplus
extern "C" {
#endif
-
+
#define E_DBUS_VERSION_MAJOR 1
-#define E_DBUS_VERSION_MINOR 6
-
+#define E_DBUS_VERSION_MINOR 8
+
typedef struct _E_DBus_Version
{
int major;
@@ -110,9 +112,9 @@ extern "C" {
int micro;
int revision;
} E_DBus_Version;
-
+
EAPI extern E_DBus_Version *e_dbus_version;
-
+
EAPI extern int E_DBUS_DOMAIN_GLOBAL;
EAPI extern int E_DBUS_EVENT_SIGNAL;
@@ -140,39 +142,52 @@ extern "C" {
typedef struct E_DBus_Callback E_DBus_Callback;
-
/**
* @brief Initialize e_dbus
+ *
+ * @return 1 or greater on success, 0 otherwise
+ *
+ * This function sets up all the E_DBus library. It returns 0 on
+ * failure, otherwise it returns the number of times it has already
+ * been called.
+ *
+ * When E_DBus is not used anymore, call e_dbus_shutdown() to shut down
+ * the E_DBus library.
*/
EAPI int e_dbus_init(void);
-
+
/**
* Shutdown e_dbus.
+ *
+ * @return 0 if e_dbus shuts down, greater than 0 otherwise.
+ *
+ * This function shuts down the E_DBus library. It returns 0 when it has
+ * been called the same number of times as e_dbus_init().
*/
EAPI int e_dbus_shutdown(void);
/* setting up the connection */
-
/**
* Retrieve a connection to the bus and integrate it with the ecore main loop.
- * @param type the type of bus to connect to, e.g. DBUS_BUS_SYSTEM or DBUS_BUS_SESSION
+ *
+ * @param[in] type the type of bus to connect to, e.g. DBUS_BUS_SYSTEM or DBUS_BUS_SESSION
*/
EAPI E_DBus_Connection *e_dbus_bus_get(DBusBusType type);
EAPI void e_dbus_connection_ref(E_DBus_Connection *conn);
-
/**
* Integrate a DBus connection with the ecore main loop
*
- * @param conn - a dbus connection
+ * @param[in] conn - a dbus connection
*/
EAPI E_DBus_Connection *e_dbus_connection_setup(DBusConnection *conn);
-
+
/**
* Close out a connection retrieved with e_dbus_bus_get()
- * @param conn the connection to close
+ *
+ * @param[in] conn the connection to close
*/
EAPI void e_dbus_connection_close(E_DBus_Connection *conn);
@@ -182,102 +197,106 @@ EAPI void e_dbus_connection_close(E_DBus_Connection *conn);
EAPI void e_dbus_interface_unref(E_DBus_Interface *iface);
EAPI void e_dbus_object_interface_attach(E_DBus_Object *obj, E_DBus_Interface *iface);
EAPI void e_dbus_object_interface_detach(E_DBus_Object *obj, E_DBus_Interface *iface);
-
+
/**
* Add a method to an object
*
- * @param iface the E_DBus_Interface to which this method belongs
- * @param member the name of the method
- * @param signature an optional message signature. if provided, then messages
- * with invalid signatures will be automatically rejected
+ * @param[in] iface the E_DBus_Interface to which this method belongs
+ * @param[in] member the name of the method
+ * @param[in] signature an optional message signature. if provided, then messages
+ * with invalid signatures will be automatically rejected
* (an Error response will be sent) and introspection data
* will be available.
+ * @param[in] reply_signature an replay message signature
+ * @param[in] func the callback
*
* @return 1 if successful, 0 if failed (e.g. no memory)
*/
EAPI int e_dbus_interface_method_add(E_DBus_Interface *iface, const char *member, const char *signature, const char *reply_signature, E_DBus_Method_Cb func);
-
/**
* Add a signal to an object
*
- * @param iface the E_DBus_Interface to which this signal belongs
- * @param name the name of the signal
- * @param signature an optional message signature.
+ * @param[in] iface the E_DBus_Interface to which this signal belongs
+ * @param[in] name the name of the signal
+ * @param[in] signature an optional message signature.
*
* @return 1 if successful, 0 if failed (e.g. no memory)
*/
EAPI int e_dbus_interface_signal_add(E_DBus_Interface *iface, const char *name, const char *signature);
-
/**
* Add a dbus object.
*
- * @param conn the connection on with the object should listen
- * @param object_path a unique string identifying an object (e.g. org/enlightenment/WindowManager
- * @param data custom data to set on the object (retrievable via
+ * @param[in] conn the connection on with the object should listen
+ * @param[in] object_path a unique string identifying an object (e.g. org/enlightenment/WindowManager
+ * @param[in] data custom data to set on the object (retrievable via
* e_dbus_object_data_get())
*/
EAPI E_DBus_Object *e_dbus_object_add(E_DBus_Connection *conn, const char *object_path, void *data);
-
+
/**
* Free a dbus object
*
- * @param obj the object to free
+ * @param[in] obj the object to free
*/
EAPI void e_dbus_object_free(E_DBus_Object *obj);
-
+
/**
* @brief Fetch the data pointer for a dbus object
- * @param obj the dbus object
+ *
+ * @param[in] obj the dbus object
*/
EAPI void *e_dbus_object_data_get(E_DBus_Object *obj);
-
+
/**
* @brief Get the dbus connection of a dbus object
- * @param obj the dbus object
+ *
+ * @param[in] obj the dbus object
*/
EAPI E_DBus_Connection *e_dbus_object_conn_get(E_DBus_Object *obj);
-
+
/**
* @brief Get the path of a dbus object
- * @param obj the dbus object
+ *
+ * @param[in] obj the dbus object
*/
EAPI const char *e_dbus_object_path_get(E_DBus_Object *obj);
-
+
/**
* @brief Get the interfaces of a dbus object
- * @param obj the dbus object
+ *
+ * @param[in] obj the dbus object
*/
EAPI const Eina_List *e_dbus_object_interfaces_get(E_DBus_Object *obj);
-
/**
* @brief Sets the callback to fetch properties from an object
- * @param obj the object
- * @param func the callback
+ *
+ * @param[in] obj the object
+ * @param[in] func the callback
*/
EAPI void e_dbus_object_property_get_cb_set(E_DBus_Object *obj, E_DBus_Object_Property_Get_Cb func);
-
+
/**
* @brief Sets the callback to set properties on an object
- * @param obj the object
- * @param func the callback
+ *
+ * @param[in] obj the object
+ * @param[in] func the callback
*/
EAPI void e_dbus_object_property_set_cb_set(E_DBus_Object *obj, E_DBus_Object_Property_Set_Cb func);
/* sending method calls */
-
-
/**
* @brief Send a DBus message with callbacks
- * @param conn The DBus connection
- * @param msg The message to send
- * @param cb_return A callback function for returns (only used if @a msg is a method-call)
- * @param timeout A timeout in milliseconds, after which a synthetic error will be generated
- * @param data custom data to pass in to the callback
+ *
+ * @param[in] conn The DBus connection
+ * @param[in] msg The message to send
+ * @param[in] cb_return A callback function for returns (only used if @a msg is a method-call)
+ * @param[in] timeout A timeout in milliseconds, after which a synthetic error will be generated
+ * @param[in] data custom data to pass in to the callback
* @return a DBusPendingCall that can be used to cancel the current call
*/
EAPI DBusPendingCall *e_dbus_message_send(E_DBus_Connection *conn, DBusMessage *msg, E_DBus_Method_Return_Cb cb_return, int timeout, void *data);
@@ -287,25 +306,24 @@ EAPI DBusPendingCall *e_dbus_message_send(E_DBus_Connection *conn, DBusMessage *
/* signal receiving */
-
/**
* Add a signal handler
*
- * @param conn the dbus connection
- * @param sender name of the signal's sender
- * @param path the object path of the signal's sender
- * @param interface the signal's interface
- * @param member the signal's name
- * @param cb_signal a callback to call when the signal is received
- * @param data custom data to pass in to the callback
+ * @param[in] conn the dbus connection
+ * @param[in] sender name of the signal's sender
+ * @param[in] path the object path of the signal's sender
+ * @param[in] interface the signal's interface
+ * @param[in] member the signal's name
+ * @param[in] cb_signal a callback to call when the signal is received
+ * @param[in] data custom data to pass in to the callback
*/
EAPI E_DBus_Signal_Handler *e_dbus_signal_handler_add(E_DBus_Connection *conn, const char *sender, const char *path, const char *interface, const char *member, E_DBus_Signal_Cb cb_signal, void *data);
-
+
/**
* Delete a signal handler
*
- * @param conn the dbus connection
- * @param sh the handler to delete
+ * @param[in] conn the dbus connection
+ * @param[in] sh the handler to delete
*/
EAPI void e_dbus_signal_handler_del(E_DBus_Connection *conn, E_DBus_Signal_Handler *sh);
@@ -336,40 +354,41 @@ EAPI void e_dbus_signal_handler_del(E_DBus_Connection *conn, E_DBus_Signal_Handl
const void *data);
/* standard methods calls on objects */
-
+
/**
* Calls the Introspect method on a given bus and object path.
- * @param conn The dbus connection to use
- * @param bus The bus to call the method on
- * @param object_path The path of the bus to call on
- * @param cb_return The callback to call on reply from dbus
- * @param data The data to associate with the callback
+ *
+ * @param[in] conn The dbus connection to use
+ * @param[in] bus The bus to call the method on
+ * @param[in] object_path The path of the bus to call on
+ * @param[in] cb_return The callback to call on reply from dbus
+ * @param[in] data The data to associate with the callback
* @return A pending dbus call
*/
EAPI DBusPendingCall *e_dbus_introspect(E_DBus_Connection *conn, const char *bus,
const char *object_path, E_DBus_Method_Return_Cb cb_return, const void *data);
-
+
/**
* Ping the dbus peer
*
- * @param conn the dbus connection
- * @param destination the bus name that the object is on
- * @param path the object path
- * @param cb_return a callback for a successful return
- * @param data data to pass to the callbacks
+ * @param[in] conn the dbus connection
+ * @param[in] destination the bus name that the object is on
+ * @param[in] path the object path
+ * @param[in] cb_return a callback for a successful return
+ * @param[in] data data to pass to the callbacks
*/
EAPI DBusPendingCall *e_dbus_peer_ping(E_DBus_Connection *conn, const char *destination,
const char *path, E_DBus_Method_Return_Cb cb_return,
const void *data);
-
+
/**
* Get the UUID of the peer
*
- * @param conn the dbus connection
- * @param destination the bus name that the object is on
- * @param path the object path
- * @param cb_return a callback for a successful return
- * @param data data to pass to the callbacks
+ * @param[in] conn the dbus connection
+ * @param[in] destination the bus name that the object is on
+ * @param[in] path the object path
+ * @param[in] cb_return a callback for a successful return
+ * @param[in] data data to pass to the callbacks
*/
EAPI DBusPendingCall *e_dbus_peer_get_machine_id(E_DBus_Connection *conn,
const char *destination, const char *path,
@@ -379,36 +398,36 @@ EAPI DBusPendingCall *e_dbus_peer_get_machine_id(E_DBus_Connection *conn,
const char *path, const char *interface,
E_DBus_Method_Return_Cb cb_return,
const void *data);
-
+
/**
* Get the value of a property on an object
*
- * @param conn the dbus connection
- * @param destination the bus name that the object is on
- * @param path the object path
- * @param interface the interface name of the property
- * @param property the name of the property
- * @param cb_return a callback for a successful return
- * @param data data to pass to the callbacks
+ * @param[in] conn the dbus connection
+ * @param[in] destination the bus name that the object is on
+ * @param[in] path the object path
+ * @param[in] interface the interface name of the property
+ * @param[in] property the name of the property
+ * @param[in] cb_return a callback for a successful return
+ * @param[in] data data to pass to the callbacks
*/
EAPI DBusPendingCall *e_dbus_properties_get(E_DBus_Connection *conn, const char *destination,
const char *path, const char *interface,
const char *property,
E_DBus_Method_Return_Cb cb_return,
const void *data);
-
+
/**
* Set the value of a property on an object
*
- * @param conn the dbus connection
- * @param destination the bus name that the object is on
- * @param path the object path
- * @param interface the interface name of the property
- * @param property the name of the property
- * @param value_type the type of the property's value
- * @param value a pointer to the value
- * @param cb_return a callback for a successful return
- * @param data data to pass to the callbacks
+ * @param[in] conn the dbus connection
+ * @param[in] destination the bus name that the object is on
+ * @param[in] path the object path
+ * @param[in] interface the interface name of the property
+ * @param[in] property the name of the property
+ * @param[in] value_type the type of the property's value
+ * @param[in] value a pointer to the value
+ * @param[in] cb_return a callback for a successful return
+ * @param[in] data data to pass to the callbacks
*/
EAPI DBusPendingCall *e_dbus_properties_set(E_DBus_Connection *conn, const char *destination,
const char *path, const char *interface,
@@ -417,18 +436,20 @@ EAPI DBusPendingCall *e_dbus_properties_set(E_DBus_Connection *conn, const char
const void *data);
-
/**
* @brief Create a callback structure
- * @param cb_func the callback function
- * @param user_data data to pass to the callback
+ *
+ * @param[in] cb_func the callback function
+ * @param[in] unmarshal_func the unmarshal function
+ * @param[in] free_func the free function
+ * @param[in] user_data data to pass to the callback
*/
EAPI E_DBus_Callback *e_dbus_callback_new(E_DBus_Callback_Func cb_func, E_DBus_Unmarshal_Func unmarshal_func, E_DBus_Free_Func free_func, void *user_data);
-
/**
* @brief Free a callback structure
- * @param callback the callback to free
+ *
+ * @param[in] callback the callback to free
*/
EAPI void e_dbus_callback_free(E_DBus_Callback *callback);
EAPI void e_dbus_callback_call(E_DBus_Callback *cb, void *data, DBusError *error);
diff --git a/src/lib/dbus/e_dbus.c b/src/lib/dbus/e_dbus.c
index 06f83b6..5900bbf 100644
--- a/src/lib/dbus/e_dbus.c
+++ b/src/lib/dbus/e_dbus.c
@@ -15,7 +15,7 @@ EAPI E_DBus_Version *e_dbus_version = &_version;
#define NUM_BUS_TYPES 3
/*
- * TODO:
+ * TODO:
* listen for disconnected signal and clean up?
*/
int _e_dbus_log_dom = -1;
@@ -125,7 +125,7 @@ static void
e_dbus_handler_data_free(void *data)
{
E_DBus_Handler_Data *hd = data;
-
+
DBG("e_dbus_handler_data_free");
if (hd->fd_handler)
{
@@ -182,9 +182,8 @@ e_dbus_connection_new(DBusConnection *conn)
}
static void
-e_dbus_connection_free(void *data)
+e_dbus_connection_free(E_DBus_Connection *cd)
{
- E_DBus_Connection *cd = data;
Ecore_Fd_Handler *fd_handler;
Ecore_Timer *timer;
DBG("e_dbus_connection free!");
@@ -217,7 +216,7 @@ cb_dispatch_status(DBusConnection *conn __UNUSED__, DBusDispatchStatus new_statu
if (new_status == DBUS_DISPATCH_DATA_REMAINS && !cd->idler)
cd->idler = ecore_idler_add(e_dbus_idler, cd);
- else if (new_status != DBUS_DISPATCH_DATA_REMAINS && cd->idler)
+ else if (new_status != DBUS_DISPATCH_DATA_REMAINS && cd->idler)
{
ecore_idler_del(cd->idler);
cd->idler = NULL;
@@ -252,12 +251,12 @@ e_dbus_timeout_data_free(void *timeout_data)
free(td);
}
-static dbus_bool_t
+static dbus_bool_t
cb_timeout_add(DBusTimeout *timeout, void *data)
{
E_DBus_Connection *cd;
E_DBus_Timeout_Data *td;
-
+
cd = data;
DBG("timeout add!");
td = calloc(1, sizeof(E_DBus_Timeout_Data));
@@ -281,7 +280,7 @@ cb_timeout_del(DBusTimeout *timeout, void *data __UNUSED__)
td = (E_DBus_Timeout_Data *)dbus_timeout_get_data(timeout);
- if (td->handler)
+ if (td->handler)
{
td->cd->timeouts = eina_list_remove(td->cd->timeouts, td->handler);
ecore_timer_del(td->handler);
@@ -313,7 +312,7 @@ cb_timeout_toggle(DBusTimeout *timeout, void *data __UNUSED__)
}
-static dbus_bool_t
+static dbus_bool_t
cb_watch_add(DBusWatch *watch, void *data)
{
E_DBus_Connection *cd;
@@ -436,7 +435,7 @@ e_dbus_bus_get(DBusBusType type)
/* each app only needs a single connection to either bus */
if (type == DBUS_BUS_SYSTEM || type == DBUS_BUS_SESSION)
{
- if (shared_connections[type])
+ if (shared_connections[type])
{
e_dbus_connection_ref(shared_connections[type]);
return shared_connections[type];
@@ -484,7 +483,7 @@ e_dbus_connection_setup(DBusConnection *conn)
dbus_connection_set_exit_on_disconnect(cd->conn, EINA_FALSE);
dbus_connection_allocate_data_slot(&connection_slot);
- dbus_connection_set_data(cd->conn, connection_slot, (void *)cd, e_dbus_connection_free);
+ dbus_connection_set_data(cd->conn, connection_slot, (void *)cd, NULL);
dbus_connection_set_watch_functions(cd->conn,
cb_watch_add,
cb_watch_del,
@@ -511,6 +510,7 @@ e_dbus_connection_setup(DBusConnection *conn)
EAPI void
e_dbus_connection_close(E_DBus_Connection *conn)
{
+ if (!conn) return;
DBG("e_dbus_connection_close");
if (e_dbus_idler_active)
@@ -545,6 +545,7 @@ e_dbus_connection_close(E_DBus_Connection *conn)
dbus_connection_close(conn->conn);
dbus_connection_unref(conn->conn);
+ e_dbus_connection_free(conn);
// Note: the E_DBus_Connection gets freed when the dbus_connection is cleaned up by the previous unref
}
@@ -552,12 +553,14 @@ e_dbus_connection_close(E_DBus_Connection *conn)
EAPI void
e_dbus_connection_ref(E_DBus_Connection *conn)
{
+ EINA_SAFETY_ON_NULL_RETURN(conn);
conn->refcount++;
}
DBusConnection *
e_dbus_connection_dbus_connection_get(E_DBus_Connection *conn)
{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(conn, NULL);
return conn->conn;
}
@@ -566,7 +569,7 @@ e_dbus_init(void)
{
if (++_edbus_init_count != 1)
return _edbus_init_count;
-
+
if (!eina_init())
{
fprintf(stderr,"E-dbus: Enable to initialize eina\n");
@@ -607,6 +610,19 @@ e_dbus_shutdown(void)
if (--_edbus_init_count)
return _edbus_init_count;
+ // FIXME: this is workaround
+ while (shared_connections[DBUS_BUS_SESSION] &&
+ shared_connections[DBUS_BUS_SESSION]->refcount >= 1)
+ {
+ e_dbus_connection_close(shared_connections[DBUS_BUS_SESSION]);
+ }
+ // FIXME: this is workaround
+ while (shared_connections[DBUS_BUS_SYSTEM] &&
+ shared_connections[DBUS_BUS_SYSTEM]->refcount >= 1)
+ {
+ e_dbus_connection_close(shared_connections[DBUS_BUS_SYSTEM]);
+ }
+
e_dbus_object_shutdown();
ecore_shutdown();
eina_log_domain_unregister(_e_dbus_log_dom);
diff --git a/src/lib/dbus/e_dbus_interfaces.c b/src/lib/dbus/e_dbus_interfaces.c
index 741a493..161a180 100644
--- a/src/lib/dbus/e_dbus_interfaces.c
+++ b/src/lib/dbus/e_dbus_interfaces.c
@@ -38,12 +38,14 @@ _dbus_peer_call(E_DBus_Connection *conn, const char *method_name, const char *de
EAPI DBusPendingCall *
e_dbus_peer_ping(E_DBus_Connection *conn, const char *destination, const char *path, E_DBus_Method_Return_Cb cb_return, const void *data)
{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(conn, NULL);
return _dbus_peer_call(conn, "Ping", destination, path, cb_return, data);
}
EAPI DBusPendingCall *
e_dbus_peer_get_machine_id(E_DBus_Connection *conn, const char *destination, const char *path, E_DBus_Method_Return_Cb cb_return, const void *data)
{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(conn, NULL);
return _dbus_peer_call(conn, "GetMachineId", destination, path, cb_return, data);
}
@@ -87,6 +89,7 @@ e_dbus_properties_get_all(E_DBus_Connection *conn, const char *destination, cons
DBusMessage *msg;
DBusPendingCall *ret;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(conn, NULL);
msg = _dbus_message_property_method_call
(conn, "GetAll", destination, path, interface, NULL);
if (!msg)
@@ -107,6 +110,7 @@ e_dbus_properties_get(E_DBus_Connection *conn, const char *destination, const ch
DBusMessage *msg;
DBusPendingCall *ret;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(conn, NULL);
msg = _dbus_message_property_method_call
(conn, "Get", destination, path, interface, property);
if (!msg)
@@ -130,6 +134,7 @@ e_dbus_properties_set(E_DBus_Connection *conn, const char *destination, const ch
DBusPendingCall *ret;
char sig[2];
+ EINA_SAFETY_ON_NULL_RETURN_VAL(conn, NULL);
if (!dbus_type_is_basic(value_type))
{
if (cb_return)
diff --git a/src/lib/dbus/e_dbus_message.c b/src/lib/dbus/e_dbus_message.c
index ff24c1f..f8a6275 100644
--- a/src/lib/dbus/e_dbus_message.c
+++ b/src/lib/dbus/e_dbus_message.c
@@ -62,8 +62,9 @@ cb_pending(DBusPendingCall *pending, void *user_data)
EAPI DBusPendingCall *
e_dbus_message_send(E_DBus_Connection *conn, DBusMessage *msg, E_DBus_Method_Return_Cb cb_return, int timeout, void *data)
{
- DBusPendingCall *pending;
+ DBusPendingCall *pending = NULL;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(conn, NULL);
if (!dbus_connection_send_with_reply(conn->conn, msg, &pending, timeout))
return NULL;
@@ -72,15 +73,18 @@ e_dbus_message_send(E_DBus_Connection *conn, DBusMessage *msg, E_DBus_Method_Ret
E_DBus_Pending_Call_Data *pdata;
pdata = malloc(sizeof(E_DBus_Pending_Call_Data));
- pdata->cb_return = cb_return;
- pdata->data = data;
-
- if (!dbus_pending_call_set_notify(pending, cb_pending, pdata, free))
+ if (pdata)
{
- free(pdata);
- dbus_message_unref(msg);
- dbus_pending_call_cancel(pending);
- return NULL;
+ pdata->cb_return = cb_return;
+ pdata->data = data;
+
+ if (!dbus_pending_call_set_notify(pending, cb_pending, pdata, free))
+ {
+ free(pdata);
+ dbus_message_unref(msg);
+ dbus_pending_call_cancel(pending);
+ return NULL;
+ }
}
}
@@ -114,6 +118,13 @@ EAPI DBusPendingCall *
e_dbus_method_call_send(E_DBus_Connection *conn, DBusMessage *msg, E_DBus_Unmarshal_Func unmarshal_func, E_DBus_Callback_Func cb_func, E_DBus_Free_Func free_func, int timeout, void *data)
{
E_DBus_Callback *cb;
+ DBusPendingCall *ret = NULL;
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(conn, NULL);
cb = e_dbus_callback_new(cb_func, unmarshal_func, free_func, data);
- return e_dbus_message_send(conn, msg, cb_method_call, timeout, cb);
+ ret = e_dbus_message_send(conn, msg, cb_method_call, timeout, cb);
+
+ e_dbus_callback_free(cb);
+
+ return ret;
}
diff --git a/src/lib/dbus/e_dbus_methods.c b/src/lib/dbus/e_dbus_methods.c
index cb1003d..1427202 100644
--- a/src/lib/dbus/e_dbus_methods.c
+++ b/src/lib/dbus/e_dbus_methods.c
@@ -29,6 +29,7 @@ _dbus_call__void(E_DBus_Connection *conn, const const char *method_name, E_DBus_
ERR("E.dbus Error: no connection for call of %s", method_name);
return NULL;
}
+ EINA_SAFETY_ON_NULL_RETURN_VAL(method_name, NULL);
msg = _dbus_message_method_call(method_name);
if (!msg)
@@ -53,6 +54,7 @@ _dbus_call__str(E_DBus_Connection *conn, const const char *method_name, const ch
ERR("E-dbus Error: no connection for call of %s", method_name);
return NULL;
}
+ EINA_SAFETY_ON_NULL_RETURN_VAL(method_name, NULL);
msg = _dbus_message_method_call(method_name);
if (!msg)
@@ -78,6 +80,8 @@ e_dbus_introspect(E_DBus_Connection *conn, const char *bus, const char *object_p
ERR("E-dbus Error: no connection for use with introspection");
return NULL;
}
+ EINA_SAFETY_ON_NULL_RETURN_VAL(bus, NULL);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(object_path, NULL);
msg = dbus_message_new_method_call
(bus, object_path, "org.freedesktop.DBus.Introspectable", "Introspect");
@@ -100,6 +104,7 @@ e_dbus_request_name(E_DBus_Connection *conn, const char *name, unsigned int flag
ERR("E-dbus Error: no connection for call of RequestName");
return NULL;
}
+ EINA_SAFETY_ON_NULL_RETURN_VAL(name, NULL);
u_flags = flags;
@@ -155,8 +160,9 @@ e_dbus_start_service_by_name(E_DBus_Connection *conn, const char *name, unsigned
if (!conn)
{
ERR("ERROR: no connection for call of %s", method_name);
- return NULL;
+ return NULL;
}
+ EINA_SAFETY_ON_NULL_RETURN_VAL(name, NULL);
msg = _dbus_message_method_call(method_name);
if (!msg)
diff --git a/src/lib/dbus/e_dbus_object.c b/src/lib/dbus/e_dbus_object.c
index 4598beb..d649c3b 100644
--- a/src/lib/dbus/e_dbus_object.c
+++ b/src/lib/dbus/e_dbus_object.c
@@ -279,24 +279,28 @@ e_dbus_object_free(E_DBus_Object *obj)
EAPI void *
e_dbus_object_data_get(E_DBus_Object *obj)
{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
return obj->data;
}
EAPI E_DBus_Connection *
e_dbus_object_conn_get(E_DBus_Object *obj)
{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
return obj->conn;
}
EAPI const char *
e_dbus_object_path_get(E_DBus_Object *obj)
{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
return obj->path;
}
EAPI const Eina_List *
e_dbus_object_interfaces_get(E_DBus_Object *obj)
{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL);
return obj->interfaces;
}
@@ -347,6 +351,8 @@ e_dbus_object_interface_detach(E_DBus_Object *obj, E_DBus_Interface *iface)
{
E_DBus_Interface *found;
+ EINA_SAFETY_ON_NULL_RETURN(obj);
+ EINA_SAFETY_ON_NULL_RETURN(iface);
DBG("e_dbus_object_interface_detach (%s, %s) ", obj->path, iface->name);
found = eina_list_data_find(obj->interfaces, iface);
if (!found) return;
@@ -359,6 +365,7 @@ e_dbus_object_interface_detach(E_DBus_Object *obj, E_DBus_Interface *iface)
EAPI void
e_dbus_interface_ref(E_DBus_Interface *iface)
{
+ EINA_SAFETY_ON_NULL_RETURN(iface);
iface->refcount++;
DBG("e_dbus_interface_ref (%s) = %d", iface->name, iface->refcount);
}
@@ -366,6 +373,7 @@ e_dbus_interface_ref(E_DBus_Interface *iface)
EAPI void
e_dbus_interface_unref(E_DBus_Interface *iface)
{
+ EINA_SAFETY_ON_NULL_RETURN(iface);
DBG("e_dbus_interface_unref (%s) = %d", iface->name, iface->refcount - 1);
if (--(iface->refcount) == 0)
e_dbus_interface_free(iface);
@@ -391,6 +399,7 @@ e_dbus_interface_method_add(E_DBus_Interface *iface, const char *member, const c
{
E_DBus_Method *m;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(iface, 0);
m = e_dbus_method_new(member, signature, reply_signature, func);
DBG("E-dbus: Add method %s: %p", member, m);
if (!m) return 0;
@@ -404,6 +413,7 @@ e_dbus_interface_signal_add(E_DBus_Interface *iface, const char *name, const cha
{
E_DBus_Signal *s;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(iface, 0);
s = e_dbus_signal_new(name, signature);
DBG("E-dbus: Add signal %s: %p", name, s);
if (!s) return 0;
diff --git a/src/lib/dbus/e_dbus_signal.c b/src/lib/dbus/e_dbus_signal.c
index 1d6deb0..0f59762 100644
--- a/src/lib/dbus/e_dbus_signal.c
+++ b/src/lib/dbus/e_dbus_signal.c
@@ -101,8 +101,8 @@ e_dbus_signal_handler_add(E_DBus_Connection *conn, const char *sender, const cha
{
E_DBus_Signal_Handler *sh;
Eina_Strbuf *match;
- DBusError err;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(conn, NULL);
sh = calloc(1, sizeof(E_DBus_Signal_Handler));
if (!sh)
{
@@ -129,8 +129,7 @@ e_dbus_signal_handler_add(E_DBus_Connection *conn, const char *sender, const cha
sh->data = data;
sh->delete_me = 0;
- dbus_error_init(&err);
- dbus_bus_add_match(conn->conn, sh->match, &err);
+ dbus_bus_add_match(conn->conn, sh->match, NULL);
if (!conn->signal_handlers) conn->signal_dispatcher = cb_signal_dispatcher;
@@ -162,6 +161,7 @@ e_dbus_signal_handler_add(E_DBus_Connection *conn, const char *sender, const cha
data_cb->sh = sh;
sh->get_name_owner_pending =
e_dbus_get_name_owner(conn, sender, cb_name_owner, data_cb);
+ free(data_cb);
}
else if (sender) sh->owner = strdup(sender);
@@ -176,7 +176,7 @@ static int e_dbus_handler_deletions = 0;
EAPI void
e_dbus_signal_handler_del(E_DBus_Connection *conn, E_DBus_Signal_Handler *sh)
{
- if (!sh) return;
+ if ((!conn) || (!sh)) return;
if (sh->get_name_owner_pending)
{
diff --git a/src/lib/dbus/e_dbus_util.c b/src/lib/dbus/e_dbus_util.c
index 75c0fe7..9fda872 100644
--- a/src/lib/dbus/e_dbus_util.c
+++ b/src/lib/dbus/e_dbus_util.c
@@ -40,8 +40,7 @@ e_dbus_callback_unmarshal(E_DBus_Callback *cb, DBusMessage *msg, DBusError *err)
{
if (cb && cb->unmarshal_func)
return cb->unmarshal_func(msg, err);
- else
- return NULL;
+ return NULL;
}
EAPI void
diff --git a/src/lib/hal/E_Hal.h b/src/lib/hal/E_Hal.h
index ab86ebe..7501e40 100644
--- a/src/lib/hal/E_Hal.h
+++ b/src/lib/hal/E_Hal.h
@@ -5,7 +5,9 @@
#include <E_DBus.h>
/**
+ * @internal
* @defgroup EHal_Group EHal
+ * @ingroup EDbus_Group
*
* @{
*/
diff --git a/src/lib/notification/E_Notify.h b/src/lib/notification/E_Notify.h
index 7fdf5c6..812eb73 100644
--- a/src/lib/notification/E_Notify.h
+++ b/src/lib/notification/E_Notify.h
@@ -6,7 +6,9 @@
#include <E_DBus.h>
/**
+ * @internal
* @defgroup ENotify_Group ENotify
+ * @ingroup EDbus_Group
*
* @{
*/
diff --git a/src/lib/notification/daemon.c b/src/lib/notification/daemon.c
index be01e5e..d04994e 100644
--- a/src/lib/notification/daemon.c
+++ b/src/lib/notification/daemon.c
@@ -38,7 +38,10 @@ method_notify(E_DBus_Object *obj, DBusMessage *message)
if (ndaemon->func.notify)
id = ndaemon->func.notify(ndaemon, n);
else
- return dbus_message_new_error(message, E_NOTIFICATION_INTERFACE ".Unimplemented", "This functionality has not yet been implemented");
+ {
+ e_notification_unref(n);
+ return dbus_message_new_error(message, E_NOTIFICATION_INTERFACE ".Unimplemented", "This functionality has not yet been implemented");
+ }
e_notification_unref(n);
return e_notify_marshal_notify_return(message, id);
diff --git a/src/lib/ofono/E_Ofono.h b/src/lib/ofono/E_Ofono.h
index d96f74b..db8008a 100644
--- a/src/lib/ofono/E_Ofono.h
+++ b/src/lib/ofono/E_Ofono.h
@@ -9,7 +9,9 @@
#include <E_DBus.h>
/**
+ * @internal
* @defgroup EOfono_Group EOfono
+ * @ingroup EDbus_Group
*
* @{
*/
diff --git a/src/lib/ukit/E_Ukit.h b/src/lib/ukit/E_Ukit.h
index de86b1d..9d65868 100644
--- a/src/lib/ukit/E_Ukit.h
+++ b/src/lib/ukit/E_Ukit.h
@@ -5,7 +5,9 @@
#include <E_DBus.h>
/**
+ * @internal
* @defgroup EUkit_Group EUkit
+ * @ingroup EDbus_Group
*
* @{
*/