Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Maemo: Developers

Low Battery signal N800/N810

 

 

Maemo developers RSS feed   Index | Next | Previous | View Threaded


kumar.lomash at gmail

Apr 27, 2008, 11:26 PM

Post #1 of 3 (2097 views)
Permalink
Low Battery signal N800/N810

Hi,

I have been trying to get a signal when battery status (time left, etc)
changes. I understand that I will have to use lib osso APIs for this, but I
am unable to find a service prvider (e.g. com.nokia.battery ???) to connect
to.
Is this documented somewhere? I could not find anything on this.

Can someone please send details of which service/interface to connect to?

Thanks a lot,
Lomash


kees.jongenburger at gmail

May 4, 2008, 12:26 PM

Post #2 of 3 (1967 views)
Permalink
Re: Low Battery signal N800/N810 [In reply to]

Hi

I am fairly new to dbus but if you run dbus-monitor --system from a console
and hover over the battery monitor applet you will see what calls are used to
get this information.

Nokia-N810-50-2:~# dbus-monitor --system
signal sender=org.freedesktop.DBus -> dest=:1.67
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=NameAcquired
string ":1.67"
signal sender=:1.20 -> dest=(null destination)
path=/com/nokia/bme/request; interface=com.nokia.bme.request;
member=timeleft_info_req
signal sender=:1.9 -> dest=(null destination)
path=/com/nokia/bme/signal; interface=com.nokia.bme.signal;
member=battery_timeleft
uint32 5280
uint32 120


Hope this helps greetings


On Mon, Apr 28, 2008 at 8:26 AM, kumar lomash <kumar.lomash [at] gmail> wrote:
> Hi,
>
> I have been trying to get a signal when battery status (time left, etc)
> changes. I understand that I will have to use lib osso APIs for this, but I
> am unable to find a service prvider (e.g. com.nokia.battery ???) to connect
> to.
> Is this documented somewhere? I could not find anything on this.
>
> Can someone please send details of which service/interface to connect to?
>
> Thanks a lot,
> Lomash
>
> _______________________________________________
> maemo-developers mailing list
> maemo-developers [at] maemo
> https://lists.maemo.org/mailman/listinfo/maemo-developers
>
>
_______________________________________________
maemo-developers mailing list
maemo-developers [at] maemo
https://lists.maemo.org/mailman/listinfo/maemo-developers


kumar.lomash at gmail

May 4, 2008, 10:21 PM

Post #3 of 3 (1970 views)
Permalink
Re: Low Battery signal N800/N810 [In reply to]

Thanks Kees,

Actually I was looking for some API which could poll these messages for me
inside my application so that I could attach it to my g_main loop and do
other things in the same thread. Luckily for me I found the solution in the
source code of ACMonitor.
Here is what I did for battery:
battery_info_get kind of registers the callback for battery signals,
bme_message_handler is called everytime a signal is sent from com.nokia.bme
Code: -
#define BME_SIG_PATH "/com/nokia/bme/signal"
#define BME_SIG_IFC "com.nokia.bme.signal"
#define BME_REQ_PATH "/com/nokia/bme/request"
#define BME_REQ_IFC "com.nokia.bme.request"
void battery_info_get()
{
DBusMessage *db_msg;
DBusConnection *db_conn;
DBusError dberror;
GMainLoop *loop;

dbus_error_init(&dberror);
prog_data.db_conn = db_conn = dbus_bus_get(DBUS_BUS_SYSTEM, &dberror);
if(db_conn == NULL)
{
printf("Failed to open connection to system message bus: %s\n",
dberror.message);
dbus_error_free(&dberror);
return;
}
dbus_bus_add_match(db_conn,
"type='signal',path='"BME_SIG_PATH"',interface='"BME_SIG_IFC"'",NULL);
dbus_connection_add_filter(db_conn,
(DBusHandleMessageFunction)bme_message_handler, NULL, NULL);
db_msg = dbus_message_new_signal(BME_REQ_PATH, BME_REQ_IFC,
"status_info_req");
dbus_connection_send(db_conn, db_msg, NULL);
dbus_connection_flush(db_conn);
dbus_message_unref(db_msg);
dbus_connection_setup_with_g_main(db_conn, NULL);
}

static DBusHandlerResult bme_message_handler(DBusConnection *_conn,
DBusMessage *_msg, gpointer *ctx)
{
if(dbus_message_get_type(_msg) == DBUS_MESSAGE_TYPE_SIGNAL)
{
const char *member;
member = dbus_message_get_member(_msg);
if(!strcmp(member, "battery_low"))
{
prog_data.battery_low = TRUE;
/* Do something */
}
else if(!strcmp(member, "charger_charging_on"))
{
prog_data.charging = TRUE;
}
else if(!strcmp(member, "charger_charging_off"))
{
prog_data.charging = FALSE;
}

printf("dbus-printed %s\n", member);
}
return DBUS_HANDLER_RESULT_HANDLED;
}
On Mon, May 5, 2008 at 12:56 AM, Kees Jongenburger <
kees.jongenburger [at] gmail> wrote:

> Hi
>
> I am fairly new to dbus but if you run dbus-monitor --system from a
> console
> and hover over the battery monitor applet you will see what calls are used
> to
> get this information.
>
> Nokia-N810-50-2:~# dbus-monitor --system
> signal sender=org.freedesktop.DBus -> dest=:1.67
> path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
> member=NameAcquired
> string ":1.67"
> signal sender=:1.20 -> dest=(null destination)
> path=/com/nokia/bme/request; interface=com.nokia.bme.request;
> member=timeleft_info_req
> signal sender=:1.9 -> dest=(null destination)
> path=/com/nokia/bme/signal; interface=com.nokia.bme.signal;
> member=battery_timeleft
> uint32 5280
> uint32 120
>
>
> Hope this helps greetings
>
>
> On Mon, Apr 28, 2008 at 8:26 AM, kumar lomash <kumar.lomash [at] gmail>
> wrote:
> > Hi,
> >
> > I have been trying to get a signal when battery status (time left, etc)
> > changes. I understand that I will have to use lib osso APIs for this,
> but I
> > am unable to find a service prvider (e.g. com.nokia.battery ???) to
> connect
> > to.
> > Is this documented somewhere? I could not find anything on this.
> >
> > Can someone please send details of which service/interface to connect
> to?
> >
> > Thanks a lot,
> > Lomash
> >
> > _______________________________________________
> > maemo-developers mailing list
> > maemo-developers [at] maemo
> > https://lists.maemo.org/mailman/listinfo/maemo-developers
> >
> >
>

Maemo developers RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.