PyMaemo/Accessing APIs without Python bindings/More examples

From Maemo Wiki
Revision as of 12:15, 22 June 2010 by imported>amigadave (Searching contacts by phone number: use <source>)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

More examples

This page contains some other example code using ctypes. Note that they are not complete, and assume some code already shown on the [[../|main article]].

Searching for contacts by phone number

Searching for contacts by phone number can be done using the osso_abook_aggregator_find_contacts_for_phone_number() function: <source lang="python"> def aggregator_ready_cb(aggregator, error, user_data):

   contacts = osso_abook.osso_abook_aggregator_find_contacts_for_phone_number(aggregator, phone_number, 1)
   if contacts:
       print "Contacts with phone number %s:" % phone_number
       for i in glist(contacts):
           contact_get_display_name = osso_abook.osso_abook_contact_get_display_name
           contact_get_display_name.restype = ctypes.c_char_p
           print contact_get_display_name(i)
       glib.g_list_free(contacts)
   else:
       print "No contacts found with phone number %s." % phone_number
   gtk.main_quit()

aggregator = osso_abook.osso_abook_aggregator_get_default(0) wait_cb_type = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p)

  1. Keep prototype object reference so it is not destroyed

cb_proto = wait_cb_type(aggregator_ready_cb) osso_abook.osso_abook_waitable_call_when_ready(aggregator, cb_proto, 0, 0)

gtk.main() </source>