libgphoto2 photo camera library (libgphoto2) API
gphoto2-context.c File Reference
#include "config.h"
#include <gphoto2/gphoto2-context.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <gphoto2/gphoto2-port-log.h>
Include dependency graph for gphoto2-context.c:

Data Structures

struct  _GPContext


GPContextgp_context_new (void)
 Creates a new context. More...
void gp_context_ref (GPContext *context)
void gp_context_unref (GPContext *context)
 Decrements reference count of a context. More...
void gp_context_idle (GPContext *context)
 Notify frontend of a brief idle time. More...
unsigned int gp_context_progress_start (GPContext *context, float target, const char *format,...)
 Start progress tracking. More...
void gp_context_progress_update (GPContext *context, unsigned int id, float current)
void gp_context_progress_stop (GPContext *context, unsigned int id)
void gp_context_error (GPContext *context, const char *format,...)
void gp_context_status (GPContext *context, const char *format,...)
void gp_context_message (GPContext *context, const char *format,...)
 Print a message to the context. More...
GPContextFeedback gp_context_question (GPContext *context, const char *format,...)
 Ask frontend user a question. More...
GPContextFeedback gp_context_cancel (GPContext *context)
void gp_context_set_idle_func (GPContext *context, GPContextIdleFunc func, void *data)
void gp_context_set_progress_funcs (GPContext *context, GPContextProgressStartFunc start_func, GPContextProgressUpdateFunc update_func, GPContextProgressStopFunc stop_func, void *data)
void gp_context_set_error_func (GPContext *context, GPContextErrorFunc func, void *data)
void gp_context_set_question_func (GPContext *context, GPContextQuestionFunc func, void *data)
void gp_context_set_status_func (GPContext *context, GPContextStatusFunc func, void *data)
void gp_context_set_cancel_func (GPContext *context, GPContextCancelFunc func, void *data)
void gp_context_set_message_func (GPContext *context, GPContextMessageFunc func, void *data)

Detailed Description

Copyright 2001 Lutz Mueller
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Function Documentation

GPContextFeedback gp_context_cancel ( GPContext context)

gp_context_cancel: : a GPContext

Gives the frontend the possibility to cancel the current operation that is executed in this .

Return value: a GPContextFeedback.


void gp_context_idle ( GPContext context)

Notify frontend of a brief idle time.

Tells the frontend that it can do other processing at this moment, like refresh the UI. Backends should call this function every time when an interruption of the transfer is possible.

contexta GPContext
void gp_context_message ( GPContext context,
const char *  format,

Print a message to the context.

This sends a message to the passed context, to be printed by it in some kind of way, but do no other action.

To be used by camera drivers.

contextA GPContext
formatA sprintf style format string
...variable argument list depending on format string
GPContext* gp_context_new ( void  )

Creates a new context.

To be used by the frontend.

a GPContext.
unsigned int gp_context_progress_start ( GPContext context,
float  target,
const char *  format,

Start progress tracking.

This function starts up a new progress tracking for a specified context. Several nested progress reports can happen at once, depending on the backend.

contextThe context in which to start the progress.
targetThe 100% value.
formatA sprintf style string to print out, including the following variable arguments.

References gp_log(), and GP_LOG_ERROR.

GPContextFeedback gp_context_question ( GPContext context,
const char *  format,

Ask frontend user a question.

Asks the user a question that he must answer either with "Ok" or "Cancel".

To be used by a camera driver. (So far no camera driver is using it, but this might change later.)

contexta GPContext
formata sprintf format string
...variable arguments for format string
The user's answer in form of a GPContextFeedback.


void gp_context_ref ( GPContext context)

Increments the reference count of the context.

contextThe context to bump the reference
void gp_context_unref ( GPContext context)

Decrements reference count of a context.

Decrement the reference count of a context and free if it goes to 0.

contextThe context to drop the reference count.