diff options
author | Matthias Vogelgesang <matthias.vogelgesang@gmail.com> | 2012-08-31 23:14:16 +0200 |
---|---|---|
committer | Matthias Vogelgesang <matthias.vogelgesang@gmail.com> | 2012-09-19 15:11:06 +0200 |
commit | 034204d3d8d1a32b1a20e50697c5f81db6fb20cf (patch) | |
tree | d2c8265bacbd591aa53865310437a6bfa4366c45 /test/benchmark.c | |
parent | 539b6cebd615d71b377941e250117ebb99e49c27 (diff) | |
download | libuca-034204d3d8d1a32b1a20e50697c5f81db6fb20cf.tar.gz libuca-034204d3d8d1a32b1a20e50697c5f81db6fb20cf.tar.bz2 libuca-034204d3d8d1a32b1a20e50697c5f81db6fb20cf.tar.xz libuca-034204d3d8d1a32b1a20e50697c5f81db6fb20cf.zip |
Initial plugin manager
Diffstat (limited to 'test/benchmark.c')
-rw-r--r-- | test/benchmark.c | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/test/benchmark.c b/test/benchmark.c index 0b4f6f8..1604cdb 100644 --- a/test/benchmark.c +++ b/test/benchmark.c @@ -20,6 +20,7 @@ #include <string.h> #include <stdlib.h> #include "uca-camera.h" +#include "uca-plugin-manager.h" typedef void (*GrabFrameFunc) (UcaCamera *camera, gpointer buffer, guint n_frames); @@ -37,20 +38,26 @@ sigint_handler(int signal) static void print_usage (void) { - gchar **types; - - g_print ("Usage: benchmark ("); - types = uca_camera_get_types (); + /* gchar **types; */ + GList *types; + UcaPluginManager *manager; + + manager = uca_plugin_manager_new (); + g_print ("Usage: benchmark ["); + /* types = uca_camera_get_types (); */ + types = uca_plugin_manager_get_available_cameras (manager); + + if (g_list_length (types) == 0) { + g_print ("] -- no camera plugin found\n"); + return; + } - for (guint i = 0; types[i] != NULL; i++) { - if (types[i+1] == NULL) - g_print ("%s)", types[i]); - else - g_print ("%s | ", types[i]); + for (GList *it = g_list_first (types); it != NULL; it = g_list_next (it)) { + gchar *name = (gchar *) it->data; + g_print ("`%s' ", name); } - g_print ("\n"); - g_strfreev (types); + g_print ("]\n"); } static void @@ -227,10 +234,12 @@ benchmark (UcaCamera *camera) int main (int argc, char *argv[]) { + UcaPluginManager *manager; GIOChannel *log_channel; GError *error = NULL; (void) signal (SIGINT, sigint_handler); + g_type_init(); if (argc < 2) { print_usage(); @@ -241,8 +250,8 @@ main (int argc, char *argv[]) g_assert_no_error (error); g_log_set_handler (NULL, G_LOG_LEVEL_MASK, log_handler, log_channel); - g_type_init(); - camera = uca_camera_new(argv[1], &error); + manager = uca_plugin_manager_new (); + camera = uca_plugin_manager_new_camera (manager, argv[1], &error); if (camera == NULL) { g_error ("Initialization: %s", error->message); |