org.openmoko.april-update: 351bffef8e49c1f7cd9078067b74ce91361a1230
oe at monotone.openmoko.org
oe at monotone.openmoko.org
Mon May 19 20:30:58 CEST 2008
revision: 351bffef8e49c1f7cd9078067b74ce91361a1230
date: 2008-05-19T17:25:41
author: julian_chu at openmoko.com
branch: org.openmoko.april-update
changelog:
merge of '1cf68138048c940ec45b671a80d6ddd2e40c7c23'
and 'd284ac44c85717129c04dbd6f223ccb95fadfc05'
manifest:
format_version "1"
new_manifest [70e6ce8bb0e2a2576b57d5de1a56b17b2e485670]
old_revision [1cf68138048c940ec45b671a80d6ddd2e40c7c23]
add_file "packages/dbus/dbus_1.2.1.bb"
content [13d62bf774c4fbb379fe51e709aa9044ae5084e9]
add_file "packages/openmoko-projects/enlazar-qh_svn.bb"
content [f1130f100ba401d61def663fa47224aa22d852a9]
add_file "packages/openmoko-projects/exposure_svn.bb"
content [61b2e02d56c8dccf7c23c7ead790895b9b393932]
add_file "packages/python/python-etk_git.bb"
content [3ebc7def0348080f9ddde7b1c7f505055eee4cc4]
patch "conf/distro/include/preferred-om-2008-versions.inc"
from [b4c7695d36cf2e302533374b6be2322767768d67]
to [0fd74a1146396c089ecc439819d684836dbae60d]
patch "conf/distro/include/sane-srcrevs.inc"
from [bcae278afeb86c56002b13969a1f246b88b781bf]
to [31946f0f79f0bc829893d6218a66ceb88a01c3b2]
patch "packages/tasks/task-openmoko-qtopia-x11.bb"
from [5351e54f22096965dc21219d6083f9c18bc2c170]
to [00eeb4c5f25b262c825200964806d2ba88090b6f]
old_revision [d284ac44c85717129c04dbd6f223ccb95fadfc05]
add_dir "packages/efl1/edbus"
add_file "packages/efl1/edbus/e_nm-big-hack.patch"
content [b3e8f3966add9b809412377d0644944a6927b419]
patch "classes/base.bbclass"
from [cf57311376e9ff8f4bd87f3ffdaad688ef85ea51]
to [d26debb0f94b1091c3bbf203084c6a5f1f1909bb]
patch "conf/distro/include/sane-srcdates.inc"
from [f0245580692694ec7277332b910b6436707673df]
to [cfd58a5d95cc1520d0ed5fd0537168cd0d03b77e]
patch "conf/distro/include/sane-srcrevs.inc"
from [4ac7bf862e3c76f6fbab50ff65d8f4aaddf614a3]
to [31946f0f79f0bc829893d6218a66ceb88a01c3b2]
patch "packages/e17/e-wm_cvs.bb"
from [10fac6f3469627d641a1a831d9875c86b8b3edc3]
to [19e715ed638e757695c61a1a15a41a3abc4879c2]
patch "packages/efl1/edbus_cvs.bb"
from [ecd6cb444aeac48cd019c31f15055fb2cca6157a]
to [d82002b6ed9027913c726863ac1b51c43ca64969]
patch "packages/openmoko-projects/illume-theme_svn.bb"
from [a5b248c743b547dd436dd3ee40850b98a7f125e6]
to [a426add7f3c8b72e40e7865aa85755e8a677a2b7]
-------------- next part --------------
#
#
# add_file "packages/dbus/dbus_1.2.1.bb"
# content [13d62bf774c4fbb379fe51e709aa9044ae5084e9]
#
# add_file "packages/openmoko-projects/enlazar-qh_svn.bb"
# content [f1130f100ba401d61def663fa47224aa22d852a9]
#
# add_file "packages/openmoko-projects/exposure_svn.bb"
# content [61b2e02d56c8dccf7c23c7ead790895b9b393932]
#
# add_file "packages/python/python-etk_git.bb"
# content [3ebc7def0348080f9ddde7b1c7f505055eee4cc4]
#
# patch "conf/distro/include/preferred-om-2008-versions.inc"
# from [b4c7695d36cf2e302533374b6be2322767768d67]
# to [0fd74a1146396c089ecc439819d684836dbae60d]
#
# patch "conf/distro/include/sane-srcrevs.inc"
# from [bcae278afeb86c56002b13969a1f246b88b781bf]
# to [31946f0f79f0bc829893d6218a66ceb88a01c3b2]
#
# patch "packages/tasks/task-openmoko-qtopia-x11.bb"
# from [5351e54f22096965dc21219d6083f9c18bc2c170]
# to [00eeb4c5f25b262c825200964806d2ba88090b6f]
#
============================================================
--- packages/dbus/dbus_1.2.1.bb 13d62bf774c4fbb379fe51e709aa9044ae5084e9
+++ packages/dbus/dbus_1.2.1.bb 13d62bf774c4fbb379fe51e709aa9044ae5084e9
@@ -0,0 +1,3 @@
+include dbus.inc
+
+PR = "r1"
============================================================
--- packages/openmoko-projects/enlazar-qh_svn.bb f1130f100ba401d61def663fa47224aa22d852a9
+++ packages/openmoko-projects/enlazar-qh_svn.bb f1130f100ba401d61def663fa47224aa22d852a9
@@ -0,0 +1,18 @@
+AUTHOR = "Tick <tick at openmoko.com>"
+DESCRIPTION = "A simple applet that allows user to connect to open wifi"
+DEPENDS = "python-etk wireless-tools"
+RDEPENDS = "python-etk wireless-tools python-re python-codecs"
+PV = "0.00.1+svnr${SRCREV}"
+SRCREV = ${AUTOREV}
+PR = "r0"
+PKG_TAGS_${PN} = "group::network"
+
+inherit setuptools
+
+SRC_URI = "svn://svn.projects.openmoko.org/svnroot/enlazar;module=quick_hack;proto=http"
+
+S = "${WORKDIR}/quick_hack"
+
+PACKAGES = "${PN}"
+
+FILES_${PN} += "${prefix}/share/*"
============================================================
--- packages/openmoko-projects/exposure_svn.bb 61b2e02d56c8dccf7c23c7ead790895b9b393932
+++ packages/openmoko-projects/exposure_svn.bb 61b2e02d56c8dccf7c23c7ead790895b9b393932
@@ -0,0 +1,17 @@
+AUTHOR = "Willie <willie at openmoko.com>"
+DESCRIPTION = "Exposure all devices on neo1973"
+DEPENDS = "python-etk"
+RDEPENDS = "python-etk python-re python-codecs"
+PV = "0.0.1+svnr${SRCREV}"
+SRCREV = ${AUTOREV}
+PR = "r0"
+
+S = ${WORKDIR}/${PN}
+
+inherit setuptools
+SRC_URI = "svn://svn.projects.openmoko.org/svnroot;module=exposure;proto=http"
+
+
+PACKAGES = "${PN}"
+
+FILES_${PN} += "${prefix}/share/*"
============================================================
--- packages/python/python-etk_git.bb 3ebc7def0348080f9ddde7b1c7f505055eee4cc4
+++ packages/python/python-etk_git.bb 3ebc7def0348080f9ddde7b1c7f505055eee4cc4
@@ -0,0 +1,13 @@
+DESCRIPTION = "Python etk binding"
+require python-efl.inc
+DEPENDS += "etk python-setuptools python-ecore python-cython python-edje"
+RDEPENDS += "etk python-cython python-evas python-ecore python-edje python-numeric python-math etk-themes"
+PR = "r0.01"
+
+SRC_URI = "git://staff.get-e.org/users/cmarcelo/python-etk.git;protocol=git"
+
+S = "${WORKDIR}/git"
+
+do_stage() {
+ distutils_stage_all
+}
============================================================
--- conf/distro/include/preferred-om-2008-versions.inc b4c7695d36cf2e302533374b6be2322767768d67
+++ conf/distro/include/preferred-om-2008-versions.inc 0fd74a1146396c089ecc439819d684836dbae60d
@@ -59,8 +59,8 @@ PREFERRED_VERSION_avahi ?= "0.6.22"
PREFERRED_VERSION_automake ?= "1.9.6"
PREFERRED_VERSION_automake-native ?= "1.9.6"
PREFERRED_VERSION_avahi ?= "0.6.22"
-PREFERRED_VERSION_avahi-python ?= "0.6.22"
-PREFERRED_VERSION_avahi-ui ?= "0.6.22"
+PREFERRED_VERSION_avahi-python ?= "0.6.21"
+PREFERRED_VERSION_avahi-ui ?= "0.6.21"
PREFERRED_VERSION_avetanabt ?= "20060413"
PREFERRED_VERSION_bacula-client ?= "1.38.11"
PREFERRED_VERSION_balsa ?= "2.0.17"
============================================================
--- conf/distro/include/sane-srcrevs.inc bcae278afeb86c56002b13969a1f246b88b781bf
+++ conf/distro/include/sane-srcrevs.inc 31946f0f79f0bc829893d6218a66ceb88a01c3b2
@@ -19,8 +19,8 @@ SRCREV_pn-dfu-util-native ?= "4160"
SRCREV_pn-dbus-c++ ?= "13131"
SRCREV_pn-dfu-util ?= "4160"
SRCREV_pn-dfu-util-native ?= "4160"
-SRCREV_pn-diversity-daemon ?= "277"
-SRCREV_pn-diversity-nav ?= "340"
+SRCREV_pn-diversity-daemon ?= "363"
+SRCREV_pn-diversity-nav ?= "360"
SRCREV_pn-eds-dbus ?= "659"
SRCREV_pn-eglibc ?= "5963"
SRCREV_pn-eglibc-initial ?= "5963"
@@ -160,6 +160,7 @@ SRCREV_pn-pyneog ?= "88"
SRCREV_pn-pylgrim ?= "20"
SRCREV_pn-pyneod ?= "88"
SRCREV_pn-pyneog ?= "88"
+SRCREV_pn-python-etk ?= "8b51535150cbc88467e3d8b578e54df27eac6434"
SRCREV_pn-python-formencode ?= "3148"
SRCREV_pn-python-gsmd ?= "148"
SRCREV_pn-python-lightmediascanner ?= "68"
============================================================
--- packages/tasks/task-openmoko-qtopia-x11.bb 5351e54f22096965dc21219d6083f9c18bc2c170
+++ packages/tasks/task-openmoko-qtopia-x11.bb 00eeb4c5f25b262c825200964806d2ba88090b6f
@@ -52,4 +52,5 @@ RDEPENDS_task-openmoko-qtopia-x11 = "\
xrandr \
neod \
libnotify \
+ exposure \
"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openmoko.org/pipermail/commitlog/attachments/20080519/2bc245bc/attachment.htm
-------------- next part --------------
#
#
# add_dir "packages/efl1/edbus"
#
# add_file "packages/efl1/edbus/e_nm-big-hack.patch"
# content [b3e8f3966add9b809412377d0644944a6927b419]
#
# patch "classes/base.bbclass"
# from [cf57311376e9ff8f4bd87f3ffdaad688ef85ea51]
# to [d26debb0f94b1091c3bbf203084c6a5f1f1909bb]
#
# patch "conf/distro/include/sane-srcdates.inc"
# from [f0245580692694ec7277332b910b6436707673df]
# to [cfd58a5d95cc1520d0ed5fd0537168cd0d03b77e]
#
# patch "conf/distro/include/sane-srcrevs.inc"
# from [4ac7bf862e3c76f6fbab50ff65d8f4aaddf614a3]
# to [31946f0f79f0bc829893d6218a66ceb88a01c3b2]
#
# patch "packages/e17/e-wm_cvs.bb"
# from [10fac6f3469627d641a1a831d9875c86b8b3edc3]
# to [19e715ed638e757695c61a1a15a41a3abc4879c2]
#
# patch "packages/efl1/edbus_cvs.bb"
# from [ecd6cb444aeac48cd019c31f15055fb2cca6157a]
# to [d82002b6ed9027913c726863ac1b51c43ca64969]
#
# patch "packages/openmoko-projects/illume-theme_svn.bb"
# from [a5b248c743b547dd436dd3ee40850b98a7f125e6]
# to [a426add7f3c8b72e40e7865aa85755e8a677a2b7]
#
============================================================
--- packages/efl1/edbus/e_nm-big-hack.patch b3e8f3966add9b809412377d0644944a6927b419
+++ packages/efl1/edbus/e_nm-big-hack.patch b3e8f3966add9b809412377d0644944a6927b419
@@ -0,0 +1,1923 @@
+Index: e_dbus/src/bin/nm.c
+===================================================================
+--- e_dbus.orig/src/bin/nm.c 2008-03-25 19:22:01.000000000 +0100
++++ e_dbus/src/bin/nm.c 2008-05-19 15:05:08.000000000 +0200
+@@ -5,241 +5,154 @@
+ #define E_NM_DEVICE_TYPE_WIRED 1
+ #define E_NM_DEVICE_TYPE_WIRELESS 2
+
+-typedef struct NM_Manager NM_Manager;
+ struct NM_Manager
+ {
+ E_NM_Context *ctx;
+ Ecore_List *devices;
+-};
+-
+-void
+-cb_manager_get_udi(void *data, void *reply, DBusError *err)
+-{
+- DBusMessageIter iter, sub;
+- char *udi;
+-
+- if (dbus_error_is_set(err))
+- {
+- printf("Error: %s - %s\n" ,err->name, err->message);
+- return;
+- }
+-
+- dbus_message_iter_init(reply, &iter);
+- dbus_message_iter_recurse(&iter, &sub);
+- dbus_message_iter_get_basic(&sub, &udi);
+-
+- printf("Got udi: %s\n", udi);
+-}
+-
+-void
+-cb_manager_get_interface(void *data, void *reply, DBusError *err)
+-{
+- DBusMessageIter iter, sub;
+- char *interface;
+-
+- if (dbus_error_is_set(err))
+- {
+- printf("Error: %s - %s\n" ,err->name, err->message);
+- return;
+- }
++ Ecore_List *aps;
+
+- dbus_message_iter_init(reply, &iter);
+- dbus_message_iter_recurse(&iter, &sub);
+- dbus_message_iter_get_basic(&sub, &interface);
+-
+- printf("Got interface: %s\n", interface);
+-}
++ E_DBus_Callback_Func cb_devices;
++ E_DBus_Callback_Func cb_aps;
++};
+
+ void
+-cb_manager_get_driver(void *data, void *reply, DBusError *err)
++cb_manager_get_wireless(void *data, void *reply, DBusError *err)
+ {
+ DBusMessageIter iter, sub;
+- char *driver;
++ int wireless;
+
+- if (dbus_error_is_set(err))
++ if (dbus_error_is_set(err))
+ {
+- printf("Error: %s - %s\n" ,err->name, err->message);
+- return;
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
+ }
+
+ dbus_message_iter_init(reply, &iter);
+ dbus_message_iter_recurse(&iter, &sub);
+- dbus_message_iter_get_basic(&sub, &driver);
++ dbus_message_iter_get_basic(&sub, &wireless);
+
+- printf("Got driver: %s\n", driver);
++ printf("Wireless enabled: %i\n", wireless);
+ }
+
+ void
+-cb_manager_get_capabilities(void *data, void *reply, DBusError *err)
++cb_manager_get_hw_wireless(void *data, void *reply, DBusError *err)
+ {
+ DBusMessageIter iter, sub;
+- dbus_uint32_t caps;
++ int hw_wireless;
+
+- if (dbus_error_is_set(err))
++ if (dbus_error_is_set(err))
+ {
+- printf("Error: %s - %s\n" ,err->name, err->message);
+- return;
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
+ }
+
+ dbus_message_iter_init(reply, &iter);
+ dbus_message_iter_recurse(&iter, &sub);
+- dbus_message_iter_get_basic(&sub, &caps);
++ dbus_message_iter_get_basic(&sub, &hw_wireless);
+
+- printf("Got capabilities: %i\n", caps);
++ printf("Wireless hardware enabled: %i\n", hw_wireless);
+ }
+
+ void
+-cb_manager_get_ip4address(void *data, void *reply, DBusError *err)
++cb_manager_manager_get_state(void *data, void *reply, DBusError *err)
+ {
+ DBusMessageIter iter, sub;
+- dbus_int32_t ip;
++ uint state;
+
+- if (dbus_error_is_set(err))
++ if (dbus_error_is_set(err))
+ {
+- printf("Error: %s - %s\n" ,err->name, err->message);
+- return;
+- }
+-
+- dbus_message_iter_init(reply, &iter);
+- dbus_message_iter_recurse(&iter, &sub);
+- dbus_message_iter_get_basic(&sub, &ip);
+-
+- printf("Got IPv4 address: %i.%i.%i.%i\n",
+- (ip & 0xff),
+- ((ip >> 8 ) & 0xff),
+- ((ip >> 16) & 0xff),
+- ((ip >> 24) & 0xff)
+- );
+-}
+-
+-void
+-cb_manager_get_state(void *data, void *reply, DBusError *err)
+-{
+- DBusMessageIter iter, sub;
+- dbus_uint32_t state;
+-
+- if (dbus_error_is_set(err))
+- {
+- printf("Error: %s - %s\n" ,err->name, err->message);
+- return;
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
+ }
+
+ dbus_message_iter_init(reply, &iter);
+ dbus_message_iter_recurse(&iter, &sub);
+ dbus_message_iter_get_basic(&sub, &state);
+
+- printf("Got state: %i\n", state);
++ printf("State: %i\n", state);
+ }
+
+-void
+-cb_manager_get_ip4config(void *data, void *reply, DBusError *err)
+-{
+- DBusMessageIter iter, sub;
+- char *ip4config;
+-
+- if (dbus_error_is_set(err))
+- {
+- printf("Error: %s - %s\n" ,err->name, err->message);
+- return;
+- }
+-
+- dbus_message_iter_init(reply, &iter);
+- dbus_message_iter_recurse(&iter, &sub);
+- dbus_message_iter_get_basic(&sub, &ip4config);
+-
+- printf("Got IPv4 config path: %s\n", ip4config);
+-}
+
+ void
+-cb_manager_get_carrier(void *data, void *reply, DBusError *err)
++cb_manager_wifi_aps(void *data, void *reply, DBusError *err)
+ {
+- DBusMessageIter iter, sub;
+- dbus_uint32_t carrier;
++ NM_Manager *app = data;
++ E_NM_Access_Point *ap;
++ const char *ap_path;
+
+ if (dbus_error_is_set(err))
+ {
+ printf("Error: %s - %s\n" ,err->name, err->message);
+ return;
+ }
++ //app->devices = ecore_list_new();
++ //ecore_list_init(app->devices);
+
+- dbus_message_iter_init(reply, &iter);
+- dbus_message_iter_recurse(&iter, &sub);
+- dbus_message_iter_get_basic(&sub, &carrier);
+-
+- printf("Got carrier: %i\n", carrier);
++ ecore_list_first_goto(reply);
++ printf("Got APs:\n");
++ while ((ap_path = ecore_list_next(reply)))
++ {
++ printf("%s\n", ap_path);
++ }
+ }
+
+ void
+-cb_manager_get_type(void *data, void *reply, DBusError *err)
++cb_manager_get_devices(void *data, void *reply, DBusError *err)
+ {
+- DBusMessageIter iter, sub;
+- dbus_uint32_t type;
+-
+- if (dbus_error_is_set(err))
+- {
+- printf("Error: %s - %s\n" ,err->name, err->message);
+- return;
+- }
+-
+- dbus_message_iter_init(reply, &iter);
+- dbus_message_iter_recurse(&iter, &sub);
+- dbus_message_iter_get_basic(&sub, &type);
+-
+- printf("Got type: %i (1 = ethernet, 2 = wireless)\n", type);
++ NM_Manager *app = data;
+ }
+
+-void
+-cb_manager_get_devices(void *data, void *reply, DBusError *err)
+-{
+- NM_Manager *app = data;
+- const char *dev;
++#if 0
++int
++dump2_device_info(void *data)
++{
++ E_NM_Device *dev = data;
++
++ printf("-- Informations from %s --\n", dev->interface);
++ printf("Got udi: %s\n", dev->udi);
++ printf("Got interface: %s\n", dev->interface);
++ printf("Got driver: %s\n", dev->driver);
++ printf("Got capabilities: %i\n", dev->capabilities);
++ printf("Got IPv4 address: %i.%i.%i.%i\n",
++ (dev->ip4address & 0xff),
++ ((dev->ip4address >> 8 ) & 0xff),
++ ((dev->ip4address >> 16) & 0xff),
++ ((dev->ip4address >> 24) & 0xff)
++ );
++ printf("Got state: %i\n", dev->state);
++ //printf("Got IPv4 config path: %s\n", dev->ip4config);
++ printf("Got carrier: %i\n", dev->carrier);
++ printf("Got type: %i (1 = ethernet, 2 = wireless)\n", dev->type);
+
+- if (dbus_error_is_set(err))
+- {
+- printf("Error: %s - %s\n" ,err->name, err->message);
+- return;
+- }
+-
+- app->devices = reply;
+- ecore_list_first_goto(app->devices);
+- printf("Got devices:\n");
+- while ((dev = ecore_list_next(app->devices)))
+- {
+- printf("%s\n", dev);
+- e_nm_device_get_udi(app->ctx, dev, cb_manager_get_udi, app);
+- e_nm_device_get_interface(app->ctx, dev, cb_manager_get_interface, app);
+- e_nm_device_get_driver(app->ctx, dev, cb_manager_get_driver, app);
+- e_nm_device_get_capabilities(app->ctx, dev, cb_manager_get_capabilities, app);
+- e_nm_device_get_ip4address(app->ctx, dev, cb_manager_get_ip4address, app);
+- e_nm_device_get_state(app->ctx, dev, cb_manager_get_state, app);
+- /* FIXME: Getting the ip4config needs fixing */
+- //e_nm_device_get_ip4config(app->ctx, dev, cb_manager_get_ip4config, app);
+- e_nm_device_get_carrier(app->ctx, dev, cb_manager_get_carrier, app);
+- e_nm_device_get_type(app->ctx, dev, cb_manager_get_type, app);
+- }
+ }
++#endif
+
+-int
++int
+ main(int argc, char **argv)
+ {
+ NM_Manager *app;
++
+ ecore_init();
+ ecore_string_init();
+ e_dbus_init();
+-
++
+ app = calloc(1, sizeof(NM_Manager));
+-
++
+ app->ctx = e_nm_new();
+ if (!app->ctx)
+ {
+ printf("Error connecting to system bus. Is it running?\n");
+ return 1;
+ }
+-
++
++ e_nm_manager_get_wireless_enabled(app->ctx, cb_manager_get_wireless, app);
++ e_nm_manager_get_wireless_hw_enabled(app->ctx, cb_manager_get_hw_wireless, app);
++ e_nm_manager_get_state(app->ctx, cb_manager_manager_get_state, app);
++
+ e_nm_get_devices(app->ctx, cb_manager_get_devices, app);
+-
++
+ ecore_main_loop_begin();
+-
++
+ e_nm_free(app->ctx);
+ free(app);
+ e_dbus_shutdown();
+Index: e_dbus/src/lib/nm/e_nm_access_point.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ e_dbus/src/lib/nm/e_nm_access_point.c 2008-05-19 15:05:08.000000000 +0200
+@@ -0,0 +1,475 @@
++/*
++ * This file defines functions that query each of the functions provided by
++ * the org.freedesktop.NetworkManager.AccessPoint DBus interface.
++ */
++
++#include "E_Nm.h"
++#include "e_nm_private.h"
++#include <Ecore_Data.h>
++#include <string.h>
++
++#define AP_PROPS 9
++
++int ap_prop_counter = 0;
++
++NM_Manager *app_priv;
++
++/**
++ * Get the flags of a NetworkManager access point
++ *
++ * @param ctx an e_nm context
++ * @param ap a NetworkManager access point to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_access_point_get_flags(E_NM_Context *ctx, const char *ap,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ap_properties_get(ctx->conn, ap, "Flags", cb_func, data);
++}
++
++
++/**
++ * Get the WPA flags of a NetworkManager access point
++ *
++ * @param ctx an e_nm context
++ * @param ap a NetworkManager access point to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_access_point_get_wpa_flags(E_NM_Context *ctx, const char *ap,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ap_properties_get(ctx->conn, ap, "WpaFlags", cb_func, data);
++}
++
++
++/**
++ * Get the RSN flags of a NetworkManager access point
++ *
++ * @param ctx an e_nm context
++ * @param ap a NetworkManager access point to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_access_point_get_rsn_flags(E_NM_Context *ctx, const char *ap,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ap_properties_get(ctx->conn, ap, "RsnFlags", cb_func, data);
++}
++
++
++/**
++ * Get the Ssid of a NetworkManager access point
++ *
++ * @param ctx an e_nm context
++ * @param ap a NetworkManager access point to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_access_point_get_ssid(E_NM_Context *ctx, const char *ap,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ap_properties_get(ctx->conn, ap, "Ssid", cb_func, data);
++}
++
++
++/**
++ * Get the Frequency of a NetworkManager access point
++ *
++ * @param ctx an e_nm context
++ * @param ap a NetworkManager access point to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_access_point_get_frequency(E_NM_Context *ctx, const char *ap,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ap_properties_get(ctx->conn, ap, "Frequency", cb_func, data);
++}
++
++
++/**
++ * Get the hw address of a NetworkManager access point
++ *
++ * @param ctx an e_nm context
++ * @param ap a NetworkManager access point to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_access_point_get_hw_address(E_NM_Context *ctx, const char *ap,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ap_properties_get(ctx->conn, ap, "HwAddress", cb_func, data);
++}
++
++
++/**
++ * Get the mode of a NetworkManager access point
++ *
++ * @param ctx an e_nm context
++ * @param ap a NetworkManager access point to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_access_point_get_mode(E_NM_Context *ctx, const char *ap,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ap_properties_get(ctx->conn, ap, "Mode", cb_func, data);
++}
++
++
++/**
++ * Get the rate of a NetworkManager access point
++ *
++ * @param ctx an e_nm context
++ * @param ap a NetworkManager access point to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_access_point_get_rate(E_NM_Context *ctx, const char *ap,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ap_properties_get(ctx->conn, ap, "Rate", cb_func, data);
++}
++
++
++/**
++ * Get the strength of a NetworkManager access point
++ *
++ * @param ctx an e_nm context
++ * @param ap a NetworkManager access point to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_access_point_get_strength(E_NM_Context *ctx, const char *ap,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ap_properties_get(ctx->conn, ap, "Strength", cb_func, data);
++}
++
++void
++cb_manager_get_flags(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Access_Point *ap = data;
++ dbus_uint32_t flags;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &flags);
++
++ ap->flags = flags;
++
++ ap_prop_counter++;
++ if (ap_prop_counter == AP_PROPS)
++ {
++ dump_ap_properties(data);
++ ap_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_wpa_flags(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Access_Point *ap = data;
++ dbus_uint32_t wpaflags;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &wpaflags);
++
++ ap->wpaflags = wpaflags;
++
++ ap_prop_counter++;
++ if (ap_prop_counter == AP_PROPS)
++ {
++ dump_ap_properties(data);
++ ap_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_rsn_flags(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Access_Point *ap = data;
++ dbus_uint32_t rsnflags;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &rsnflags);
++
++ ap->rsnflags = rsnflags;
++
++ ap_prop_counter++;
++ if (ap_prop_counter == AP_PROPS)
++ {
++ dump_ap_properties(data);
++ ap_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_ssid(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub, subsub;
++ E_NM_Access_Point *ap = data;
++ char byte;
++ char ssid[200] = "0";
++ int len, i;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_recurse(&sub, &subsub);
++ len = dbus_message_iter_get_array_len(&subsub);
++ for (i = 0; i < len; i++)
++ {
++ dbus_message_iter_get_basic(&subsub, &byte);
++ //printf("Byte value: %c\n", byte);
++ ssid[i] = byte;
++ dbus_message_iter_next(&subsub);
++ }
++
++ ap->ssid = strdup(ssid);
++
++ ap_prop_counter++;
++ if (ap_prop_counter == AP_PROPS)
++ {
++ dump_ap_properties(data);
++ ap_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_frequency(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Access_Point *ap = data;
++ dbus_uint32_t frequency;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &frequency);
++
++ ap->frequency = frequency;
++
++ ap_prop_counter++;
++ if (ap_prop_counter == AP_PROPS)
++ {
++ dump_ap_properties(data);
++ ap_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_hw_address(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Access_Point *ap = data;
++ char *hwaddress;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &hwaddress);
++
++ ap->hwaddress = hwaddress;
++
++ ap_prop_counter++;
++ if (ap_prop_counter == AP_PROPS)
++ {
++ dump_ap_properties(data);
++ ap_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_mode(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Access_Point *ap = data;
++ dbus_int32_t mode;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &mode);
++
++ ap->mode = mode;
++
++ ap_prop_counter++;
++ if (ap_prop_counter == AP_PROPS)
++ {
++ dump_ap_properties(data);
++ ap_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_rate(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Access_Point *ap = data;
++ dbus_uint32_t rate;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &rate);
++
++ ap->rate = rate;
++
++ ap_prop_counter++;
++ if (ap_prop_counter == AP_PROPS)
++ {
++ dump_ap_properties(data);
++ ap_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_strength(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Access_Point *ap = data;
++ char strength;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &strength);
++
++ ap->strength = strength;
++
++ ap_prop_counter++;
++ if (ap_prop_counter == AP_PROPS)
++ {
++ dump_ap_properties(data);
++ ap_prop_counter = 0;
++ }
++}
++
++void
++fill_ap_properties(void *data, void *reply, DBusError *err)
++{
++ /* FIXME Store app info in private as workaround */
++ app_priv = data;
++
++ E_NM_Access_Point *ap;
++ const char *ap_path;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ app_priv->aps = ecore_list_new();
++ ecore_list_init(app_priv->aps);
++
++ ecore_list_first_goto(reply);
++ while ((ap_path = ecore_list_next(reply)))
++ {
++ ap = calloc(1, sizeof(E_NM_Access_Point));
++ ecore_list_append(app_priv->aps, ap);
++ e_nm_access_point_get_flags(app_priv->ctx, ap_path, cb_manager_get_flags, ap);
++ e_nm_access_point_get_wpa_flags(app_priv->ctx, ap_path, cb_manager_get_wpa_flags, ap);
++ e_nm_access_point_get_rsn_flags(app_priv->ctx, ap_path, cb_manager_get_rsn_flags, ap);
++ e_nm_access_point_get_ssid(app_priv->ctx, ap_path, cb_manager_get_ssid, ap);
++ e_nm_access_point_get_frequency(app_priv->ctx, ap_path, cb_manager_get_frequency, ap);
++ e_nm_access_point_get_hw_address(app_priv->ctx, ap_path, cb_manager_get_hw_address, ap);
++ e_nm_access_point_get_mode(app_priv->ctx, ap_path, cb_manager_get_mode, ap);
++ e_nm_access_point_get_rate(app_priv->ctx, ap_path, cb_manager_get_rate, ap);
++ e_nm_access_point_get_strength(app_priv->ctx, ap_path, cb_manager_get_strength, ap);
++ }
++}
++
++int
++dump_ap_properties(void *data)
++{
++ E_NM_Access_Point *ap = data;
++
++ printf("-- Informations from %s --\n", ap->ssid);
++ printf("Got flags: %i\n", ap->flags);
++ printf("Got WPA flags: %i\n", ap->wpaflags);
++ printf("Got RSN flags: %i\n", ap->rsnflags);
++ printf("Got SSID: %s\n", ap->ssid);
++ printf("Got frequency: %i\n", ap->frequency);
++ printf("Got hw address: %s\n", ap->hwaddress);
++ printf("Got mode: %i\n", ap->mode);
++ printf("Got rate: %i\n", ap->rate);
++ printf("Got strength: %i\n", ap->strength);
++
++ app_priv->cb_aps(app_priv, ap, NULL);
++}
++
+Index: e_dbus/src/lib/nm/e_nm_device.c
+===================================================================
+--- e_dbus.orig/src/lib/nm/e_nm_device.c 2008-03-25 19:22:01.000000000 +0100
++++ e_dbus/src/lib/nm/e_nm_device.c 2008-05-19 15:05:08.000000000 +0200
+@@ -7,6 +7,13 @@
+ #include "e_nm_private.h"
+ #include <Ecore_Data.h>
+
++#define DEVICE_PROPS 8
++#define E_NM_DEVICE_TYPE_WIRED 1
++#define E_NM_DEVICE_TYPE_WIRELESS 2
++
++int dev_prop_counter = 0;
++
++NM_Manager *app_priv;
+
+ /**
+ * Get the UDI of a NetworkManager device
+@@ -163,3 +170,342 @@
+ /* FIXME: Decide how to handle the return value for this functions */
+ e_nm_device_properties_get(ctx->conn, device, "DeviceType", cb_func, data);
+ }
++
++void
++cb_manager_get_udi(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ char *udi;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &udi);
++
++ dev->udi = udi;
++
++ dev_prop_counter++;
++ if (dev_prop_counter == DEVICE_PROPS)
++ {
++ dump_device_info(data);
++ dev_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_interface(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ char *interface;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &interface);
++
++ dev->interface = interface;
++
++ dev_prop_counter++;
++ if (dev_prop_counter == DEVICE_PROPS)
++ {
++ fill_dev_special_properties(data);
++ dev_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_driver(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ char *driver;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &driver);
++
++ dev->driver = driver;
++
++ dev_prop_counter++;
++ if (dev_prop_counter == DEVICE_PROPS)
++ {
++ fill_dev_special_properties(data);
++ dev_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_capabilities(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ dbus_uint32_t caps;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &caps);
++
++ dev->capabilities = caps;
++
++ dev_prop_counter++;
++ if (dev_prop_counter == DEVICE_PROPS)
++ {
++ fill_dev_special_properties(data);
++ dev_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_ip4address(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ dbus_int32_t ip;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &ip);
++
++ dev->ip4address = ip;
++
++ dev_prop_counter++;
++ if (dev_prop_counter == DEVICE_PROPS)
++ {
++ fill_dev_special_properties(data);
++ dev_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_state(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ dbus_uint32_t state;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &state);
++
++ dev->state = state;
++
++ dev_prop_counter++;
++ if (dev_prop_counter == DEVICE_PROPS)
++ {
++ fill_dev_special_properties(data);
++ dev_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_ip4config(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ char *ip4config;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &ip4config);
++
++ dev->ip4config = ip4config;
++
++ dev_prop_counter++;
++ if (dev_prop_counter == DEVICE_PROPS)
++ {
++ fill_dev_special_properties(data);
++ dev_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_carrier(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ dbus_uint32_t carrier;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &carrier);
++
++ dev->carrier = carrier;
++
++ dev_prop_counter++;
++ if (dev_prop_counter == DEVICE_PROPS)
++ {
++ fill_dev_special_properties(data);
++ dev_prop_counter = 0;
++ }
++}
++
++void
++cb_manager_get_type(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ dbus_uint32_t type;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &type);
++
++ dev->type = type;
++
++ dev_prop_counter++;
++ if (dev_prop_counter == DEVICE_PROPS)
++ {
++ fill_dev_special_properties(data);
++ dev_prop_counter = 0;
++ }
++}
++
++void
++fill_dev_properties(void *data, void *reply, DBusError *err)
++{
++ NM_Manager *app = data;
++
++ E_NM_Device *dev;
++ const char *dev_path;
++
++ /* FIXME Store app info in private as workaround */
++ app_priv = app;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ app->devices = ecore_list_new();
++ ecore_list_init(app->devices);
++
++ ecore_list_first_goto(reply);
++ while ((dev_path = ecore_list_next(reply)))
++ {
++ dev = calloc(1, sizeof(E_NM_Device));
++ ecore_list_append(app->devices, dev);
++ e_nm_device_get_udi(app->ctx, dev_path, cb_manager_get_udi, dev);
++ e_nm_device_get_interface(app->ctx, dev_path, cb_manager_get_interface, dev);
++ e_nm_device_get_driver(app->ctx, dev_path, cb_manager_get_driver, dev);
++ e_nm_device_get_capabilities(app->ctx, dev_path, cb_manager_get_capabilities, dev);
++ e_nm_device_get_ip4address(app->ctx, dev_path, cb_manager_get_ip4address, dev);
++ e_nm_device_get_state(app->ctx, dev_path, cb_manager_get_state, dev);
++ /* FIXME: We get no reply from NM for this. Broken in used version (3202)? */
++ //e_nm_device_get_ip4config(app->ctx, dev_path, cb_manager_get_ip4config, dev);
++ e_nm_device_get_carrier(app->ctx, dev_path, cb_manager_get_carrier, dev);
++ e_nm_device_get_type(app->ctx, dev_path, cb_manager_get_type, dev);
++ }
++
++ app->cb_devices(app, app->devices, err);
++}
++
++void
++fill_dev_special_properties(void *data)
++{
++ E_NM_Device *dev = data;
++
++ if (dev->type == E_NM_DEVICE_TYPE_WIRELESS)
++ {
++ e_nm_device_wifi_get_hw_address(app_priv->ctx, dev->udi, cb_manager_wifi_get_hw_address, dev);
++ e_nm_device_wifi_get_mode(app_priv->ctx, dev->udi, cb_manager_wifi_get_mode, dev);
++ e_nm_device_wifi_get_bitrate(app_priv->ctx, dev->udi, cb_manager_wifi_get_bitrate, dev);
++ e_nm_device_wifi_get_active_ap(app_priv->ctx, dev->udi, cb_manager_wifi_get_active_ap, dev);
++ e_nm_device_wifi_get_wireless_caps(app_priv->ctx, dev->udi, cb_manager_wifi_get_wireless_caps, dev);
++ e_nm_device_wifi_get_access_points(app_priv->ctx, dev->udi, cb_manager_wifi_aps, app_priv);
++ }
++
++#if 0
++ else if (dev->type == E_NM_DEVICE_TYPE_WIRED)
++ {
++ e_nm_device_wired_get_hw_address(app_priv->ctx, dev->udi, cb_manager_wired_get_hw_address, dev);
++ /* FIXME: Why does the second call crash? Function does not matter */
++ //e_nm_device_wired_get_speed(app_priv->ctx, dev->udi, cb_manager_wired_get_speed, dev);
++ }
++#endif
++}
++
++int
++dump_device_info(void *data)
++{
++ E_NM_Device *dev = data;
++
++ printf("-- Informations from %s --\n", dev->interface);
++ printf("Got udi: %s\n", dev->udi);
++ printf("Got interface: %s\n", dev->interface);
++ printf("Got driver: %s\n", dev->driver);
++ printf("Got capabilities: %i\n", dev->capabilities);
++ printf("Got IPv4 address: %i.%i.%i.%i\n",
++ (dev->ip4address & 0xff),
++ ((dev->ip4address >> 8 ) & 0xff),
++ ((dev->ip4address >> 16) & 0xff),
++ ((dev->ip4address >> 24) & 0xff)
++ );
++ printf("Got state: %i\n", dev->state);
++ //printf("Got IPv4 config path: %s\n", dev->ip4config);
++ printf("Got carrier: %i\n", dev->carrier);
++ printf("Got type: %i (1 = ethernet, 2 = wireless)\n", dev->type);
++ if (dev->type == E_NM_DEVICE_TYPE_WIRELESS)
++ {
++ }
++ else if (dev->type == E_NM_DEVICE_TYPE_WIRED)
++ {
++ printf("Got wired hw address %s\n", dev->sub_device.wired.hwaddress);
++ printf("Got wired speed %i\n", dev->sub_device.wired.speed);
++ }
++}
++
+Index: e_dbus/src/lib/nm/e_nm_device_wifi.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ e_dbus/src/lib/nm/e_nm_device_wifi.c 2008-05-19 15:05:08.000000000 +0200
+@@ -0,0 +1,234 @@
++/*
++ * This file defines functions that query each of the functions provided by
++ * the org.freedesktop.NetworkManager.Device.Wireless DBus interface.
++ */
++
++#include "E_Nm.h"
++#include "e_nm_private.h"
++#include <Ecore_Data.h>
++
++#define DEVICE_WIFI_PROPS 6
++
++int dev_wifi_prop_counter = 0;
++
++/**
++ * Get all access points seen on this devices.
++ *
++ * Returns an Ecore_List of dbus object paths for access points. This list is
++ * of const char *, and is freed automatically after the callback returns.
++ *
++ * @param ctx an e_nm context
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ **/
++EAPI int
++e_nm_device_wifi_get_access_points(E_NM_Context *ctx, const char *device,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ DBusMessage *msg;
++ int ret;
++ NM_Manager *app = data;
++
++ app->cb_aps = cb_func;
++
++ msg = e_nm_device_wifi_call_new(device, "GetAccessPoints");
++
++ ret = e_dbus_method_call_send(ctx->conn, msg, cb_nm_string_list, fill_ap_properties, free_nm_string_list, -1, data) ? 1 : 0;
++ dbus_message_unref(msg);
++ return ret;
++}
++
++
++/**
++ * Get the hw address of a NetworkManager wireless device.
++ *
++ * @param ctx an e_nm context
++ * @param device a NetworkManagr device to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_device_wifi_get_hw_address(E_NM_Context *ctx, const char *device,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_device_wifi_properties_get(ctx->conn, device, "HwAddress", cb_func, data);
++}
++
++
++/**
++ * Get the mode of a NetworkManager wireless device.
++ *
++ * @param ctx an e_nm context
++ * @param device a NetworkManagr device to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_device_wifi_get_mode(E_NM_Context *ctx, const char *device,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_device_wifi_properties_get(ctx->conn, device, "Mode", cb_func, data);
++}
++
++
++/**
++ * Get the bitrate of a NetworkManager wireless device.
++ *
++ * @param ctx an e_nm context
++ * @param device a NetworkManagr device to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_device_wifi_get_bitrate(E_NM_Context *ctx, const char *device,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_device_wifi_properties_get(ctx->conn, device, "Bitrate", cb_func, data);
++}
++
++
++/**
++ * Get the active ap of a NetworkManager wireless device.
++ *
++ * @param ctx an e_nm context
++ * @param device a NetworkManagr device to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_device_wifi_get_active_ap(E_NM_Context *ctx, const char *device,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_device_wifi_properties_get(ctx->conn, device, "ActiveAccessPoint", cb_func, data);
++}
++
++
++/**
++ * Get the wireless capabilities of a NetworkManager wireless device.
++ *
++ * @param ctx an e_nm context
++ * @param device a NetworkManagr device to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_device_wifi_get_wireless_caps(E_NM_Context *ctx, const char *device,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_device_wifi_properties_get(ctx->conn, device, "WirelessCapabilities", cb_func, data);
++}
++
++void
++cb_manager_wifi_get_hw_address(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ char *hw_address;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &hw_address);
++
++ printf("Wifi hw address: %s\n", hw_address);
++#if 1
++ dev->sub_device.wireless.hwaddress = hw_address;
++
++ dev_wifi_prop_counter++;
++ if (dev_wifi_prop_counter == DEVICE_WIFI_PROPS)
++ {
++ fill_dev_special_properties(data);
++ dev_wifi_prop_counter = 0;
++ }
++#endif
++}
++
++void
++cb_manager_wifi_get_mode(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ dbus_uint32_t mode;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &mode);
++
++ printf("Wifi mode: %i\n", mode);
++}
++
++void
++cb_manager_wifi_get_bitrate(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ dbus_uint32_t bitrate;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &bitrate);
++
++ printf("Wifi bitrate: %i\n", bitrate);
++}
++
++void
++cb_manager_wifi_get_active_ap(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ char *active_ap;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &active_ap);
++
++ printf("Wifi active AP: %s\n", active_ap);
++}
++
++void
++cb_manager_wifi_get_wireless_caps(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ dbus_uint32_t wifi_caps;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &wifi_caps);
++
++ printf("Wifi capabilities: %i\n", wifi_caps);
++}
+Index: e_dbus/src/lib/nm/e_nm_device_wired.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ e_dbus/src/lib/nm/e_nm_device_wired.c 2008-05-19 15:05:08.000000000 +0200
+@@ -0,0 +1,104 @@
++/*
++ * This file defines functions that query each of the functions provided by
++ * the org.freedesktop.NetworkManager.Device.Wired DBus interface.
++ */
++
++#include "E_Nm.h"
++#include "e_nm_private.h"
++#include <Ecore_Data.h>
++
++#define DEVICE_WIRED_PROPS 2
++
++int dev_wired_prop_counter = 0;
++
++/**
++ * Get the hw address of a NetworkManager wired device.
++ *
++ * @param ctx an e_nm context
++ * @param device a NetworkManagr device to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_device_wired_get_hw_address(E_NM_Context *ctx, const char *device,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_device_wired_properties_get(ctx->conn, device, "HwAddress", cb_func, data);
++}
++
++
++/**
++ * Get the speed of a NetworkManager wired device.
++ *
++ * @param ctx an e_nm context
++ * @param device a NetworkManagr device to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_device_wired_get_speed(E_NM_Context *ctx, const char *device,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_device_wired_properties_get(ctx->conn, device, "Speed", cb_func, data);
++}
++
++void
++cb_manager_wired_get_hw_address(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ char *hw_address;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &hw_address);
++
++ printf("Wired hw address: %s\n", hw_address);
++
++ dev->sub_device.wired.hwaddress = hw_address;
++
++ dev_wired_prop_counter++;
++ if (dev_wired_prop_counter == DEVICE_WIRED_PROPS)
++ {
++ dump_device_info(dev);
++ dev_wired_prop_counter = 0;
++ }
++ dump_device_info(dev);
++}
++
++void
++cb_manager_wired_get_speed(void *data, void *reply, DBusError *err)
++{
++ DBusMessageIter iter, sub;
++ E_NM_Device *dev = data;
++ dbus_int32_t speed;
++
++ if (dbus_error_is_set(err))
++ {
++ printf("Error: %s - %s\n" ,err->name, err->message);
++ return;
++ }
++
++ dbus_message_iter_init(reply, &iter);
++ dbus_message_iter_recurse(&iter, &sub);
++ dbus_message_iter_get_basic(&sub, &speed);
++
++ printf("Wired speed: %i\n", speed);
++
++ dev->sub_device.wired.speed = speed;
++
++ dev_wired_prop_counter++;
++ if (dev_wired_prop_counter == DEVICE_WIRED_PROPS)
++ {
++ dump_device_info(dev);
++ dev_wired_prop_counter = 0;
++ }
++}
+Index: e_dbus/src/lib/nm/E_Nm.h
+===================================================================
+--- e_dbus.orig/src/lib/nm/E_Nm.h 2008-05-04 05:44:07.000000000 +0200
++++ e_dbus/src/lib/nm/E_Nm.h 2008-05-19 15:05:08.000000000 +0200
+@@ -26,25 +26,12 @@
+ #endif
+
+ typedef struct E_NM_Context E_NM_Context;
++typedef struct NM_Manager NM_Manager;
+
+ /**
+ * Matching structs for the new "object" based DBus API
+ * VPN is missing as this was still missing the redesign for the new 0.7 API
+ */
+-typedef struct E_NM_Device E_NM_Device;
+-struct E_NM_Device
+-{
+- char *udi; /* object_path */
+- char *interface;
+- char *driver;
+- uint capabilities;
+- int ip4address;
+- uint state;
+- char *ip4config; /* object_path */
+- int carrier;
+- uint type;
+-};
+-
+ typedef struct E_NM_Device_Wireless E_NM_Device_Wireless;
+ struct E_NM_Device_Wireless
+ {
+@@ -62,6 +49,25 @@
+ uint speed;
+ };
+
++typedef struct E_NM_Device E_NM_Device;
++struct E_NM_Device
++{
++ char *udi; /* object_path */
++ char *interface;
++ char *driver;
++ uint capabilities;
++ int ip4address;
++ uint state;
++ char *ip4config; /* object_path */
++ int carrier;
++ uint type;
++ union
++ {
++ E_NM_Device_Wired wired;
++ E_NM_Device_Wireless wireless;
++ } sub_device;
++};
++
+ typedef struct E_NM_Access_Point E_NM_Access_Point;
+ struct E_NM_Access_Point
+ {
+Index: e_dbus/src/lib/nm/e_nm_ip4config.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ e_dbus/src/lib/nm/e_nm_ip4config.c 2008-05-19 15:05:08.000000000 +0200
+@@ -0,0 +1,161 @@
++/*
++ * This file defines functions that query each of the functions provided by
++ * the org.freedesktop.NetworkManager.IP4Config DBus interface.
++ */
++
++#include "E_Nm.h"
++#include "e_nm_private.h"
++#include <Ecore_Data.h>
++
++
++/**
++ * Get the address of a NetworkManager IP4Config
++ *
++ * @param ctx an e_nm context
++ * @param config a NetworkManager config to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_ip4config_get_address(E_NM_Context *ctx, const char *config,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ip4config_properties_get(ctx->conn, config, "Address", cb_func, data);
++}
++
++
++/**
++ * Get the gateway of a NetworkManager IP4Config
++ *
++ * @param ctx an e_nm context
++ * @param config a NetworkManager config to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_ip4config_get_gateway(E_NM_Context *ctx, const char *config,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ip4config_properties_get(ctx->conn, config, "Gateway", cb_func, data);
++}
++
++
++/**
++ * Get the netmask of a NetworkManager IP4Config
++ *
++ * @param ctx an e_nm context
++ * @param config a NetworkManager config to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_ip4config_get_netmask(E_NM_Context *ctx, const char *config,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ip4config_properties_get(ctx->conn, config, "Netmask", cb_func, data);
++}
++
++
++/**
++ * Get the broadcast of a NetworkManager IP4Config
++ *
++ * @param ctx an e_nm context
++ * @param config a NetworkManager config to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_ip4config_get_Broadcast(E_NM_Context *ctx, const char *config,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ip4config_properties_get(ctx->conn, config, "Broadcast", cb_func, data);
++}
++
++
++/**
++ * Get the hostname of a NetworkManager IP4Config
++ *
++ * @param ctx an e_nm context
++ * @param config a NetworkManager config to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_ip4config_get_hostname(E_NM_Context *ctx, const char *config,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ip4config_properties_get(ctx->conn, config, "Hostname", cb_func, data);
++}
++
++
++/**
++ * Get the nameservers of a NetworkManager IP4Config
++ *
++ * @param ctx an e_nm context
++ * @param config a NetworkManager config to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_ip4config_get_nameservers(E_NM_Context *ctx, const char *config,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ip4config_properties_get(ctx->conn, config, "Nameservers", cb_func, data);
++}
++
++
++/**
++ * Get the domains of a NetworkManager IP4Config
++ *
++ * @param ctx an e_nm context
++ * @param config a NetworkManager config to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_ip4config_get_domains(E_NM_Context *ctx, const char *config,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ip4config_properties_get(ctx->conn, config, "Domains", cb_func, data);
++}
++
++
++/**
++ * Get the NIS domain of a NetworkManager IP4Config
++ *
++ * @param ctx an e_nm context
++ * @param config a NetworkManager config to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_ip4config_get_nisdomains(E_NM_Context *ctx, const char *config,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ip4config_properties_get(ctx->conn, config, "NisDomain", cb_func, data);
++}
++
++
++/**
++ * Get the NIS servers of a NetworkManager IP4Config
++ *
++ * @param ctx an e_nm context
++ * @param config a NetworkManager config to communicate with
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_ip4config_get_nisservers(E_NM_Context *ctx, const char *config,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_ip4config_properties_get(ctx->conn, config, "NisServers", cb_func, data);
++}
+Index: e_dbus/src/lib/nm/e_nm_manager.c
+===================================================================
+--- e_dbus.orig/src/lib/nm/e_nm_manager.c 2008-03-09 17:08:42.000000000 +0100
++++ e_dbus/src/lib/nm/e_nm_manager.c 2008-05-19 15:05:08.000000000 +0200
+@@ -17,60 +17,77 @@
+ {
+ DBusMessage *msg;
+ int ret;
++ NM_Manager *app = data;
++
++ app->cb_devices = cb_func;
+
+ msg = e_nm_manager_call_new("GetDevices");
+
+- ret = e_dbus_method_call_send(ctx->conn, msg, cb_nm_string_list, cb_func, free_nm_string_list, -1, data) ? 1 : 0;
++ ret = e_dbus_method_call_send(ctx->conn, msg, cb_nm_string_list, fill_dev_properties, free_nm_string_list, -1, data) ? 1 : 0;
+ dbus_message_unref(msg);
+ return ret;
+ }
+
+
+ /**
+- * Find the active device that NM has chosen
+- *
+- * Returns a single string containing the dbus path to the active device
++ * Check if wireless is enabled in NetworkManager
+ *
+ * @param ctx an e_nm context
+ * @param cb a callback, used when the method returns (or an error is received)
+ * @param data user data to pass to the callback function
+- **/
++ */
+ EAPI int
+-e_nm_get_active_device(E_NM_Context *ctx, E_DBus_Callback_Func cb_func,
+- void *data)
++e_nm_manager_get_wireless_enabled(E_NM_Context *ctx,
++ E_DBus_Callback_Func cb_func, void *data)
+ {
+- return e_nm_get_from_nm(ctx, cb_func, data,
+- "getActiveDevice", DBUS_TYPE_STRING);
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_manager_properties_get(ctx->conn, "WirelessEnabled", cb_func, data);
+ }
+
+
+ /**
+- * Query the current state of the network
+- *
+- * Returns a single string containing the status:
+- *
+- * "connecting": there is a pending network connection (waiting for a DHCP
+- * request to complete, waiting for an encryption
+- * key/passphrase, waiting for a wireless network, etc)
+- *
+- * "connected": there is an active network connection
+- *
+- * "scanning": there is no active network connection, but NetworkManager
+- * is looking for an access point to associate with
+- *
+- * "disconnected": there is no network connection
+- *
++ * Disable wireless in NetworkManager
+ *
++ * @param ctx an e_nm context
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_manager_set_wireless_enabled(E_NM_Context *ctx,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ //e_nm_manager_properties_get(ctx->conn, "WirelessEnabled", cb_func, data);
++}
++
++
++/**
++ * Check if wireless is hardware enabled in NetworkManager
+ *
+ * @param ctx an e_nm context
+ * @param cb a callback, used when the method returns (or an error is received)
+ * @param data user data to pass to the callback function
+- **/
++ */
+ EAPI int
+-e_nm_status(E_NM_Context *ctx, E_DBus_Callback_Func cb_func,
+- void *data)
++e_nm_manager_get_wireless_hw_enabled(E_NM_Context *ctx,
++ E_DBus_Callback_Func cb_func, void *data)
+ {
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_manager_properties_get(ctx->conn, "WirelessHardwareEnabled", cb_func, data);
++}
+
+- return e_nm_get_from_nm(ctx, cb_func, data,
+- "status", DBUS_TYPE_STRING);
++
++/**
++ * State of NetworkManager
++ *
++ * @param ctx an e_nm context
++ * @param cb a callback, used when the method returns (or an error is received)
++ * @param data user data to pass to the callback function
++ */
++EAPI int
++e_nm_manager_get_state(E_NM_Context *ctx,
++ E_DBus_Callback_Func cb_func, void *data)
++{
++ /* FIXME: Decide how to handle the return value for this functions */
++ e_nm_manager_properties_get(ctx->conn, "State", cb_func, data);
+ }
+Index: e_dbus/src/lib/nm/e_nm_private.h
+===================================================================
+--- e_dbus.orig/src/lib/nm/e_nm_private.h 2008-03-25 19:22:01.000000000 +0100
++++ e_dbus/src/lib/nm/e_nm_private.h 2008-05-19 15:05:08.000000000 +0200
+@@ -14,10 +14,22 @@
+
+ #define e_nm_device_call_new(path, member) dbus_message_new_method_call(E_NM_SERVICE, path, E_NM_INTERFACE_DEVICE, member)
+
++#define e_nm_device_wifi_call_new(path, member) dbus_message_new_method_call(E_NM_SERVICE, path, E_NM_INTERFACE_DEVICE_WIRELESS, member)
++
+ #define e_nm_network_call_new(member) dbus_message_new_method_call(E_NM_SERVICE, E_NM_PATH_NETWORK_MANAGER, E_NM_INTERFACE_NETWORK_MANAGER, member)
+
+ #define e_nm_device_properties_get(con, dev, prop, cb, data) e_dbus_properties_get(con, E_NM_SERVICE, dev, E_NM_INTERFACE_DEVICE, prop, (E_DBus_Method_Return_Cb) cb, data)
+
++#define e_nm_device_wifi_properties_get(con, dev, prop, cb, data) e_dbus_properties_get(con, E_NM_SERVICE, dev, E_NM_INTERFACE_DEVICE_WIRELESS, prop, (E_DBus_Method_Return_Cb) cb, data)
++
++#define e_nm_device_wired_properties_get(con, dev, prop, cb, data) e_dbus_properties_get(con, E_NM_SERVICE, dev, E_NM_INTERFACE_DEVICE_WIRED, prop, (E_DBus_Method_Return_Cb) cb, data)
++
++#define e_nm_manager_properties_get(con, prop, cb, data) e_dbus_properties_get(con, E_NM_SERVICE, E_NM_PATH_NETWORK_MANAGER, E_NM_INTERFACE_NETWORK_MANAGER, prop, (E_DBus_Method_Return_Cb) cb, data)
++
++#define e_nm_ip4config_properties_get(con, config, prop, cb, data) e_dbus_properties_get(con, E_NM_SERVICE, config, E_NM_INTERFACE_IP4CONFIG, prop, (E_DBus_Method_Return_Cb) cb, data)
++
++#define e_nm_ap_properties_get(con, ap, prop, cb, data) e_dbus_properties_get(con, E_NM_SERVICE, ap, E_NM_INTERFACE_ACCESSPOINT, prop, (E_DBus_Method_Return_Cb) cb, data)
++
+ struct E_NM_Context
+ {
+ E_DBus_Connection *conn;
+@@ -32,6 +44,16 @@
+ void *data_manager_device_removed;
+ };
+
++struct NM_Manager
++{
++ E_NM_Context *ctx;
++ Ecore_List *devices;
++ Ecore_List *aps;
++
++ E_DBus_Callback_Func cb_devices;
++ E_DBus_Callback_Func cb_aps;
++};
++
+
+ int e_nm_get_from_nm(E_NM_Context *ctx, E_DBus_Callback_Func cb_func, void *data,
+ const char *method, int rettype);
+@@ -39,6 +61,8 @@
+ E_DBus_Callback_Func cb_func, void *data,
+ const char *method, int rettype);
+
++void fill_dev_properties(void *data, void *reply, DBusError *err);
++void fill_ap_properties(void *data, void *reply, DBusError *err);
+ void *cb_nm_generic(DBusMessage *msg, DBusError *err);
+ void free_nm_generic(void *data);
+ void *cb_nm_int32(DBusMessage *msg, DBusError *err);
+@@ -47,4 +71,13 @@
+ void *cb_nm_boolean(DBusMessage *msg, DBusError *err);
+ void *cb_nm_string_list(DBusMessage *msg, DBusError *err);
+ void free_nm_string_list(void *data);
++
++void cb_manager_wifi_get_hw_address(void *data, void *reply, DBusError *err);
++void cb_manager_wifi_get_mode(void *data, void *reply, DBusError *err);
++void cb_manager_wifi_get_bitrate(void *data, void *reply, DBusError *err);
++void cb_manager_wifi_get_active_ap(void *data, void *reply, DBusError *err);
++void cb_manager_wifi_get_wireless_caps(void *data, void *reply, DBusError *err);
++void cb_manager_wifi_aps(void *data, void *reply, DBusError *err);
++void cb_manager_wired_get_hw_address(void *data, void *reply, DBusError *err);
++void cb_manager_wired_get_speed(void *data, void *reply, DBusError *err);
+ #endif
+Index: e_dbus/src/lib/nm/Makefile.am
+===================================================================
+--- e_dbus.orig/src/lib/nm/Makefile.am 2008-01-18 16:09:00.000000000 +0100
++++ e_dbus/src/lib/nm/Makefile.am 2008-05-19 15:05:08.000000000 +0200
+@@ -14,7 +14,10 @@
+ e_nm.c \
+ e_nm_manager.c \
+ e_nm_device.c \
+-e_nm_network.c \
++e_nm_device_wifi.c \
++e_nm_device_wired.c \
++e_nm_ip4config.c \
++e_nm_access_point.c \
+ e_nm_util.c
+
+
============================================================
--- classes/base.bbclass cf57311376e9ff8f4bd87f3ffdaad688ef85ea51
+++ classes/base.bbclass d26debb0f94b1091c3bbf203084c6a5f1f1909bb
@@ -720,15 +720,22 @@ python base_eventhandler() {
bb.data.setVar( 'BB_VERSION', bb.__version__, e.data )
path_to_bbfiles = bb.data.getVar( 'BBFILES', e.data, 1 )
path_to_packages = path_to_bbfiles[:path_to_bbfiles.rindex( "packages" )]
- monotone_revision = "<unknown>"
+ scm_revision = "<unknown>"
+
try:
- monotone_revision = file( "%s/_MTN/revision" % path_to_packages ).read().strip()
- if monotone_revision.startswith( "format_version" ):
- monotone_revision_words = monotone_revision.split()
- monotone_revision = monotone_revision_words[ monotone_revision_words.index( "old_revision" )+1][1:-1]
+ scm_revision = file( "%s/_MTN/revision" % path_to_packages ).read().strip()
+ if scm_revision.startswith( "format_version" ):
+ scm_revision_words = scm_revision.split()
+ scm_revision = scm_revision_words[ scm_revision_words.index( "old_revision" )+1][1:-1]
except IOError:
pass
- bb.data.setVar( 'OE_REVISION', monotone_revision, e.data )
+
+ if scm_revision == "<unknown>":
+ rev = os.popen("cd %s; git-log -n 1 --pretty=oneline --" % path_to_packages).read().split(" ")[0]
+ if len(rev) != 0:
+ scm_revision = rev
+
+ bb.data.setVar( 'OE_REVISION', scm_revision, e.data )
statusvars = ['BB_VERSION', 'OE_REVISION', 'TARGET_ARCH', 'TARGET_OS', 'MACHINE', 'DISTRO', 'DISTRO_VERSION','TARGET_FPU']
statuslines = ["%-14s = \"%s\"" % (i, bb.data.getVar(i, e.data, 1) or '') for i in statusvars]
statusmsg = "\nOE Build Configuration:\n%s\n" % '\n'.join(statuslines)
============================================================
--- conf/distro/include/sane-srcdates.inc f0245580692694ec7277332b910b6436707673df
+++ conf/distro/include/sane-srcdates.inc cfd58a5d95cc1520d0ed5fd0537168cd0d03b77e
@@ -52,7 +52,7 @@ SRCDATE_gtkhtml2 ?= "20060323"
# Enlightenment Foundation Libraries
# Caution: This is not alphabetically, but (roughly) dependency-sorted.
# Please leave it like that.
-EFL_SRCDATE ?= "20080516"
+EFL_SRCDATE ?= "20080519"
SRCDATE_edb-native ?= "${EFL_SRCDATE}"
SRCDATE_edb ?= "${EFL_SRCDATE}"
SRCDATE_eet-native ?= "${EFL_SRCDATE}"
============================================================
--- conf/distro/include/sane-srcrevs.inc 4ac7bf862e3c76f6fbab50ff65d8f4aaddf614a3
+++ conf/distro/include/sane-srcrevs.inc 31946f0f79f0bc829893d6218a66ceb88a01c3b2
@@ -42,8 +42,8 @@ SRCREV_pn-hildon-1 ?= "14429"
SRCREV_pn-gtkhtml2 ?= "1158"
SRCREV_pn-gypsy ?= "134"
SRCREV_pn-hildon-1 ?= "14429"
-SRCREV_pn-illume ?= "79"
-SRCREV_pn-illume-theme ?= "79"
+SRCREV_pn-illume ?= "86"
+SRCREV_pn-illume-theme ?= "86"
SRCREV_pn-kismet ?= "2285"
SRCREV_pn-kismet-newcore ?= "2285"
SRCREV_pn-libcalenabler2 ?= "1410"
@@ -64,7 +64,7 @@ SRCREV_pn-linux-ixp4xx ?= "1062"
SRCREV_pn-linux-bfin ?= "3758"
SRCREV_pn-linux-hackndev-2.6 ?= "1308"
SRCREV_pn-linux-ixp4xx ?= "1062"
-SRCREV_pn-linux-openmoko ?= "7b7d70785f1b3c1421d56ee8140578fea3b90f9c"
+SRCREV_pn-linux-openmoko ?= "e93ec75e2a9c85e5a92af9e1b754fa711bd864b6"
SRCREV_pn-linux-openmoko-devel ?= "29ab5ca74817b1f045b4c160c687750548b54659"
SRCREV_pn-llvm-gcc4 ?= "374"
SRCREV_pn-llvm-gcc4-cross ?= "374"
@@ -165,7 +165,7 @@ SRCREV_pn-python-pyrtc ?= "152"
SRCREV_pn-python-gsmd ?= "148"
SRCREV_pn-python-lightmediascanner ?= "68"
SRCREV_pn-python-pyrtc ?= "152"
-SRCREV_pn-qtopia-phone-x11 ?= "cc34f70a6226b5e6f7c9c9d88debd84a8e570d40"
+SRCREV_pn-qtopia-phone-x11 ?= "6b52394deeef660c40a317422c1a8749252ebe8d"
SRCREV_pn-s3c24xx-gpio ?= "4130"
SRCREV_pn-serial-forward ?= "4214"
SRCREV_pn-settings-daemon ?= "2006"
============================================================
--- packages/e17/e-wm_cvs.bb 10fac6f3469627d641a1a831d9875c86b8b3edc3
+++ packages/e17/e-wm_cvs.bb 19e715ed638e757695c61a1a15a41a3abc4879c2
@@ -2,10 +2,12 @@ PV = "0.16.999.042+cvs${SRCDATE}"
DEPENDS = "eet evas ecore edje efreet"
LICENSE = "MIT BSD"
PV = "0.16.999.042+cvs${SRCDATE}"
-PR = "r5"
+PR = "r6"
inherit e update-alternatives
+RDEPENDS += "shared-mime-info mime-support"
+
SRC_URI = "${E_CVS};module=e17/apps/e \
file://disable-e-cursor.patch;patch=1 \
file://pkgconfig-fix.patch;patch=1;pnum=0;mindate=20080328;maxdate=20080401 \
============================================================
--- packages/efl1/edbus_cvs.bb ecd6cb444aeac48cd019c31f15055fb2cca6157a
+++ packages/efl1/edbus_cvs.bb d82002b6ed9027913c726863ac1b51c43ca64969
@@ -7,7 +7,8 @@ SRC_URI = "${E_CVS};module=e17/libs/e_db
inherit efl
SRC_URI = "${E_CVS};module=e17/libs/e_dbus \
- http://people.openmoko.org/stefan/e_nm-big-hack.patch;patch=1;pnum=1;mindate=20080330 \
+ http://people.openmoko.org/stefan/e_nm-big-hack.patch;patch=1;pnum=1;mindate=20080330;maxdate=20080518 \
+ file://e_nm-big-hack.patch;patch=1;mindate=20080519 \
"
S = "${WORKDIR}/e_dbus"
============================================================
--- packages/openmoko-projects/illume-theme_svn.bb a5b248c743b547dd436dd3ee40850b98a7f125e6
+++ packages/openmoko-projects/illume-theme_svn.bb a426add7f3c8b72e40e7865aa85755e8a677a2b7
@@ -4,7 +4,7 @@ PV = "0.0+svnr${SRCPV}"
PACKAGE_ARCH="all"
PV = "0.0+svnr${SRCPV}"
-PR = "r5"
+PR = "r5.02"
SRC_URI = "svn://svn.projects.openmoko.org/svnroot/;module=illume;proto=https"
S = "${WORKDIR}/illume"
@@ -15,9 +15,11 @@ do_install() {
do_install() {
install -d ${D}${sysconfdir}/enlightenment
install -d ${D}${datadir}/enlightenment/data/themes/
+ install -d ${D}${datadir}/enlightenment/data/init/
# Make illume the default profile
echo 'E_PROFILE="-profile illume"' > ${D}${sysconfdir}/enlightenment/default_profile
install -m 0644 ${S}/misc-data/illume.edj ${D}${datadir}/enlightenment/data/themes/
+ install -m 0644 ${S}/misc-data/illume_init.edj ${D}${datadir}/enlightenment/data/init/
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openmoko.org/pipermail/commitlog/attachments/20080519/2bc245bc/attachment-0001.htm
More information about the commitlog
mailing list