My first camlib driver

gnome-driver.c
#include <gphoto2/gphoto2-library.h>

#include <string.h>

int
camera_abilities (CameraAbilitiesList *list)
{
	CameraAbilities a;

	memset (&a, 0, sizeof (CameraAbilities));
	strcpy (a.model, "GNOME");
	a.port = GP_PORT_SERIAL;
	a.operations = GP_OPERATION_CAPTURE_PREVIEW;
	gp_abilities_list_append (list, a);

	return (GP_OK);
}

int
camera_id (CameraText *text)
{
	strcpy (text->text, "GNOME");

	return (GP_OK);
}

static int
camera_capture_preview (Camera *camera, CameraFile *file, GPContext *context)
{
	gp_file_open (file, "/usr/share/pixmaps/gnome-logo-icon.png");

	return (GP_OK);
}

int
camera_init (Camera *camera, GPContext *context)
{
	camera->functions->capture_preview = camera_capture_preview;

	return (GP_OK);
}


Makefile
CFLAGS = -g -O2 -Wall `pkg-config --cflags gtk+-2.0 libgphoto2`
LDFLAGS += `pkg-config --libs gtk+-2.0 libgphoto2`

#driverdir = `pkg-config --variable driverdir libgphoto2`
driverdir = /usr/lib/gphoto2/2.1.0/

SOURCE=gnome-driver.c
TARGET=libgphoto2-gnome-driver.la

all: $(SOURCE)
	libtool --mode=compile gcc $(CFLAGS) -c gnome-driver.c
	libtool --mode=link ld $(CFLAGS) $(LDFLAGS) -o $(TARGET) -rpath $(driverdir)
-module -avoid-version gnome-driver.lo install: libtool --mode=install install -c $(TARGET) $(driverdir)/$(TARGET) libtool --finish $(driverdir)


Usage
gphoto2 --capture-preview --camera "GNOME" --port serial:/dev/ttyS0


« previous | 12/16 | next »