PyMaemo/Accessing APIs without Python bindings/More examples: Difference between revisions
From Maemo Wiki
Jump to navigationJump to search
imported>lizardo |
imported>amigadave →Searching contacts by phone number: use <source> |
||
| (One intermediate revision by one other user not shown) | |||
| Line 3: | Line 3: | ||
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]]. | 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 contacts by phone number == | == Searching for contacts by phone number == | ||
Searching contacts by phone number can be done using the [http://maemo.org/api_refs/5.0/5.0-final/libosso-abook/OssoABookAggregator.html#osso-abook-aggregator-find-contacts-for-phone-number osso_abook_aggregator_find_contacts_for_phone_number()] function: | Searching for contacts by phone number can be done using the [http://maemo.org/api_refs/5.0/5.0-final/libosso-abook/OssoABookAggregator.html#osso-abook-aggregator-find-contacts-for-phone-number 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) | |||
# 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> | |||
[[Category:Python]] | [[Category:Python]] | ||
Latest revision as of 12:15, 22 June 2010
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)
- 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>