static void fprint_device_get_property(GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { FprintDevice *self = (FprintDevice *) object; FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(self); switch (property_id) { case FPRINT_DEVICE_IN_USE: g_value_set_boolean(value, g_hash_table_size (priv->clients) != 0); break; case FPRINT_DEVICE_NAME: g_value_set_static_string (value, fp_driver_get_full_name (fp_dscv_dev_get_driver (priv->ddev))); break; case FPRINT_DEVICE_NUM_ENROLL: if (priv->dev) g_value_set_int (value, fp_dev_get_nr_enroll_stages (priv->dev)); else g_value_set_int (value, -1); break; case FPRINT_DEVICE_SCAN_TYPE: { const char *type; if (fp_driver_get_scan_type (fp_dscv_dev_get_driver (priv->ddev)) == FP_SCAN_TYPE_PRESS) type = "press"; else type = "swipe"; g_value_set_static_string (value, type); break; } default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); break; } }
struct fp_dscv_dev *discover_device(struct fp_dscv_dev **discovered_devs) { struct fp_dscv_dev *ddev = discovered_devs[0]; struct fp_driver *drv; if (!ddev) return NULL; drv = fp_dscv_dev_get_driver(ddev); printf("Found device claimed by %s driver\n", fp_driver_get_full_name(drv)); return ddev; }
static struct fp_dscv_dev *discover_device(struct fp_dscv_dev **discovered_devs) { struct fp_dscv_dev *ddev = NULL; int i; for (i = 0; ddev = discovered_devs[i]; i++) { struct fp_driver *drv = fp_dscv_dev_get_driver(ddev); printf("Found device claimed by %s driver\n", fp_driver_get_full_name(drv)); return ddev; } return ddev; }
int main(void) { // Vars struct fp_dev *device; struct fp_driver *driver; struct fp_print_data *print_data; struct fp_img *img; int err; // Init the LCD lcdinit(0x00, 0x12, 0x20); lcd_reset(); // Init libfprint fp_init(); // Init the keypad matrix_init(4, 17, 27, 22, 10, 9, 11, handle_key_press); // Signal handler - does an fp_exit() on SIGINT init_signals(); // Get the first fingerprint device if ((err = get_fingerprint_device(&device)) < 0 || !device) { // Errorz if (err == -1) { error("No devices found"); } else if (err == -2) { error("Couldn't open the device"); } return 1; } // Get driver driver = fp_dev_get_driver(device); // Init message printf("Programme started! Device is %s\n\n", fp_driver_get_full_name(driver)); // Scan the print fp_enroll_finger_img(device, &print_data, &img); // Deinit libfprint fp_exit(); return 0; }
static gboolean mwin_populate_devs(void) { struct fp_dscv_dev **discovered_devs; struct fp_dscv_dev *ddev; int i; discovered_devs = fp_discover_devs(); if (!discovered_devs) return FALSE; for (i = 0; (ddev = discovered_devs[i]); i++) { struct fp_driver *drv = fp_dscv_dev_get_driver(ddev); GtkTreeIter iter; gtk_list_store_append(mwin_devmodel, &iter); gtk_list_store_set(mwin_devmodel, &iter, 0, fp_driver_get_full_name(drv), 1, ddev, -1); } return TRUE; }
//driver bilgisi void print_driver_info(struct fp_dscv_dev* ddev){ //assume valid input struct fp_driver* driver; driver = fp_dscv_dev_get_driver(ddev); //printf("Okuyucu bulundu!\n"); printf("Driver id: %d\nDriver ismi: %s\n", fp_driver_get_driver_id(driver), fp_driver_get_full_name(driver)); }