diff options
Diffstat (limited to 'src/uca-cam.c')
-rw-r--r-- | src/uca-cam.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/uca-cam.c b/src/uca-cam.c index eb76fad..b26b826 100644 --- a/src/uca-cam.c +++ b/src/uca-cam.c @@ -19,3 +19,31 @@ enum uca_cam_state uca_cam_get_state(struct uca_camera *cam) return cam->state; } +struct uca_camera *uca_cam_new(void) +{ + struct uca_camera *cam = (struct uca_camera *) malloc(sizeof(struct uca_camera)); + + cam->next = NULL; + + /* Set all function pointers to NULL so we know early on, if something has + * not been implemented. */ + cam->set_property = NULL; + cam->get_property = NULL; + cam->start_recording = NULL; + cam->stop_recording = NULL; + cam->grab = NULL; + cam->register_callback = NULL; + cam->destroy = NULL; + + cam->user = NULL; + + cam->grabber = NULL; + cam->state = UCA_CAM_CONFIGURABLE; + cam->current_frame = 0; + + /* No callbacks and user data associated yet */ + cam->callback = NULL; + cam->callback_user = NULL; + + return cam; +} |