gphoto2-port-log.h File Reference

#include <stdarg.h>

Include dependency graph for gphoto2-port-log.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define GP_LOG_ALL   GP_LOG_DATA

Typedefs

typedef void(*) GPLogFunc (GPLogLevel level, const char *domain, const char *format, va_list args, void *data)
 Logging function hook.

Enumerations

enum  GPLogLevel { GP_LOG_ERROR = 0, GP_LOG_VERBOSE = 1, GP_LOG_DEBUG = 2, GP_LOG_DATA = 3 }
 Logging level Specifies the logging severity level. More...

Functions

int gp_log_add_func (GPLogLevel level, GPLogFunc func, void *data)
 Add a function to get logging information.
int gp_log_remove_func (int id)
 Remove a logging receiving function.
void gp_log (GPLogLevel level, const char *domain, const char *format,...)
 Log a debug or error message.
void gp_logv (GPLogLevel level, const char *domain, const char *format, va_list args)
 Log a debug or error message with va_list.
void gp_log_data (const char *domain, const char *data, unsigned int size)
 Log data domain the domain data the data to be logged size the size of the data.


Detailed Description

Copyright © 2001 Lutz Müller <lutz@users.sf.net>

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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


Define Documentation

#define GP_LOG_ALL   GP_LOG_DATA

GP_LOG_ALL:

Used by frontends if they want to be sure their callback function receives all messages. Defined as the highest debug level. Can make frontend code more understandable and extension of log levels easier.


Typedef Documentation

typedef void(* ) GPLogFunc(GPLogLevel level, const char *domain, const char *format, va_list args, void *data)

Logging function hook.

This is the function frontends can use to receive logging information from the libgphoto2 framework. It is set using gp_log_add_func() and removed using gp_log_remove_func() and will then receive the logging messages of the level specified.

Parameters:
level the log level of the passed message, as set by the camera driver or libgphoto2
domain the logging domain as set by the camera driver, or libgphoto2 function
format the printf style format string of the logmessage, without linefeed
args the arguments as va_list, depending on the format string
data the caller private data that was passed to gp_log_add_func()


Enumeration Type Documentation

enum GPLogLevel

Logging level Specifies the logging severity level.

Enumerator:
GP_LOG_ERROR  Log message is an error infomation.
GP_LOG_VERBOSE  Log message is an verbose debug infomation.
GP_LOG_DEBUG  Log message is an debug infomation.
GP_LOG_DATA  Log message is a data hex dump.


Function Documentation

void gp_log ( GPLogLevel  level,
const char *  domain,
const char *  format,
  ... 
)

Log a debug or error message.

Parameters:
level gphoto2 log level
domain the log domain
format a printf style format string
... the variable argumentlist for above format string
Logs a message at the given log level. You would normally use this function to log general debug output in a printf way.

int gp_log_add_func ( GPLogLevel  level,
GPLogFunc  func,
void *  data 
)

Add a function to get logging information.

Parameters:
level the maximum level of logging it will get, up to and including the passed value
func a GPLogFunc
data data
Adds a log function that will be called for each log message that is flagged with a log level that appears in given log level. This function returns an id that you can use for removing the log function again (using gp_log_remove_func).

Returns:
an id or a gphoto2 error code

void gp_log_data ( const char *  domain,
const char *  data,
unsigned int  size 
)

Log data domain the domain data the data to be logged size the size of the data.

Takes the data and creates a formatted hexdump string. If you would like to log text messages, use gp_log instead.

int gp_log_remove_func ( int  id  ) 

Remove a logging receiving function.

Parameters:
id an id (return value of gp_log_add_func)
Removes the log function with given id.

Returns:
a gphoto2 error code

void gp_logv ( GPLogLevel  level,
const char *  domain,
const char *  format,
va_list  args 
)

Log a debug or error message with va_list.

Parameters:
level gphoto2 log level
domain the domain
format the format
args the va_list corresponding to format
Logs a message at the given log level. You would normally use this function to log as yet unformatted strings.


Generated on Sun Jul 22 19:29:39 2007 for libgphoto2 photo camera library (libgphoto2) by  doxygen 1.5.0