summaryrefslogtreecommitdiff
path: root/Demos/callback/cheese.pyx
blob: 67d556ab71a637a148ae95f43e13982911da5c52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
#
#   Cython wrapper for the cheesefinder API
#

cdef extern from "cheesefinder.h":
    ctypedef void (*cheesefunc)(char *name, void *user_data)
    void find_cheeses(cheesefunc user_func, void *user_data)

def find(f):
    find_cheeses(callback, <void*>f)

cdef void callback(char *name, void *f):
    (<object>f)(name.decode('utf-8'))