lensfun 0.3.95.0
Database functions

Create, destroy and search database for objects. More...

Classes

struct  lfDatabase
 A lens database object. More...

Enumerations

enum  { LF_SEARCH_LOOSE = 1 , LF_SEARCH_SORT_AND_UNIQUIFY = 2 }
 Flags controlling the behavior of database searches. More...

Functions

DEPRECATED lfDatabaself_db_new (void)
 Create a new empty database object.
lfDatabaself_db_create (void)
 Create a new empty database object.
void lf_db_destroy (lfDatabase *db)
 Destroy the database object.
long int lf_db_read_timestamp (lfDatabase *db, const char *dirname)
lfError lf_db_load (lfDatabase *db)
DEPRECATED lfError lf_db_load_file (lfDatabase *db, const char *filename)
DEPRECATED cbool lf_db_load_directory (lfDatabase *db, const char *dirname)
lfError lf_db_load_path (lfDatabase *db, const char *pathname)
lfError lf_db_load_data (lfDatabase *db, const char *errcontext, const char *data, size_t data_size)
lfError lf_db_save_all (const lfDatabase *db, const char *filename)
lfError lf_db_save_file (const lfDatabase *db, const char *filename, const lfMount *const *mounts, const lfCamera *const *cameras, const lfLens *const *lenses)
char * lf_db_save (const lfMount *const *mounts, const lfCamera *const *cameras, const lfLens *const *lenses)
const lfCamera ** lf_db_find_cameras (const lfDatabase *db, const char *maker, const char *model)
const lfCamera ** lf_db_find_cameras_ext (const lfDatabase *db, const char *maker, const char *model, int sflags)
const lfCamera *const * lf_db_get_cameras (lfDatabase *db)
DEPRECATED const lfLens ** lf_db_find_lenses_hd (const lfDatabase *db, const lfCamera *camera, const char *maker, const char *lens, int sflags)
const lfLens ** lf_db_find_lenses (const lfDatabase *db, const lfCamera *camera, const char *maker, const char *lens, int sflags)
const lfLens *const * lf_db_get_lenses (lfDatabase *db)
const lfMountlf_db_find_mount (const lfDatabase *db, const char *mount)
const char * lf_db_mount_name (const lfDatabase *db, const char *mount)
const lfMount *const * lf_db_get_mounts (lfDatabase *db)

Variables

const char *const lf_db_system_location
const char *const lf_db_system_updates_location
const char *const lf_db_user_location
const char *const lf_db_user_updates_location

Detailed Description

Create, destroy and search database for objects.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Flags controlling the behavior of database searches.

Enumerator
LF_SEARCH_LOOSE 

This flag selects a looser search algorithm resulting in more results (still sorted by score).

If it is not present, all results where at least one of the input words is missing will be discarded.

LF_SEARCH_SORT_AND_UNIQUIFY 

This flag makes Lensfun to sort the results by focal length, and remove all double lens names.

If a lens has entries for different crop factors/aspect ratios, the only best match is included into the result. This is meant to be used to create a list presented to the user to pick a lens. Or, to lookup a lens for which you know maker and model exactly, and to check whether the result list really contains only one element.

Function Documentation

◆ lf_db_create()

lfDatabase * lf_db_create ( void )

Create a new empty database object.

Usually the application will want to do this at startup, after which it would be a good idea to call lf_db_load().

Returns
A new empty database object.
See also
lfDatabase::lfDatabase

References lf_db_create(), and LF_EXPORT.

Referenced by lf_db_create().

◆ lf_db_destroy()

void lf_db_destroy ( lfDatabase * db)

Destroy the database object.

This is the only way to correctly destroy the database object.

Parameters
dbThe database to destroy.
See also
lfDatabase::~lfDatabase
Examples
example.c.

References lf_db_destroy(), and LF_EXPORT.

Referenced by lf_db_destroy().

◆ lf_db_find_cameras()

const lfCamera ** lf_db_find_cameras ( const lfDatabase * db,
const char * maker,
const char * model )

◆ lf_db_find_cameras_ext()

const lfCamera ** lf_db_find_cameras_ext ( const lfDatabase * db,
const char * maker,
const char * model,
int sflags )

◆ lf_db_find_lenses()

const lfLens ** lf_db_find_lenses ( const lfDatabase * db,
const lfCamera * camera,
const char * maker,
const char * lens,
int sflags )
See also
lfDatabase::FindLenses(const lfCamera *, const char *, const char *)

References lf_db_find_lenses(), and LF_EXPORT.

Referenced by lf_db_find_lenses().

◆ lf_db_find_lenses_hd()

DEPRECATED const lfLens ** lf_db_find_lenses_hd ( const lfDatabase * db,
const lfCamera * camera,
const char * maker,
const char * lens,
int sflags )
See also
lfDatabase::FindLenses(const lfCamera *, const char *, const char *)

References DEPRECATED, lf_db_find_lenses_hd(), and LF_EXPORT.

Referenced by lf_db_find_lenses_hd().

◆ lf_db_find_mount()

const lfMount * lf_db_find_mount ( const lfDatabase * db,
const char * mount )
See also
lfDatabase::FindMount

References lf_db_find_mount(), and LF_EXPORT.

Referenced by lf_db_find_mount().

◆ lf_db_get_cameras()

const lfCamera *const * lf_db_get_cameras ( lfDatabase * db)
See also
lfDatabase::GetCameras
Examples
example.c.

References lf_db_get_cameras(), and LF_EXPORT.

Referenced by lf_db_get_cameras().

◆ lf_db_get_lenses()

const lfLens *const * lf_db_get_lenses ( lfDatabase * db)
See also
lfDatabase::GetLenses
Examples
example.c.

References lf_db_get_lenses(), and LF_EXPORT.

Referenced by lf_db_get_lenses().

◆ lf_db_get_mounts()

const lfMount *const * lf_db_get_mounts ( lfDatabase * db)
See also
lfDatabase::GetMounts
Examples
example.c.

References lf_db_get_mounts(), and LF_EXPORT.

Referenced by lf_db_get_mounts().

◆ lf_db_load()

lfError lf_db_load ( lfDatabase * db)
See also
lfDatabase::Load()
Examples
example.c.

References lf_db_load(), and LF_EXPORT.

Referenced by lf_db_load().

◆ lf_db_load_data()

lfError lf_db_load_data ( lfDatabase * db,
const char * errcontext,
const char * data,
size_t data_size )
See also
lfDatabase::Load(const char *, const char *, size_t)

References lf_db_load_data(), and LF_EXPORT.

Referenced by lf_db_load_data().

◆ lf_db_load_directory()

DEPRECATED cbool lf_db_load_directory ( lfDatabase * db,
const char * dirname )

◆ lf_db_load_file()

DEPRECATED lfError lf_db_load_file ( lfDatabase * db,
const char * filename )
See also
lfDatabase::Load(const char *). Deprecated, use lf_db_load_path() instead.

References DEPRECATED, lf_db_load_file(), and LF_EXPORT.

Referenced by lf_db_load_file().

◆ lf_db_load_path()

lfError lf_db_load_path ( lfDatabase * db,
const char * pathname )

◆ lf_db_mount_name()

const char * lf_db_mount_name ( const lfDatabase * db,
const char * mount )
See also
lfDatabase::MountName
Examples
example.c, and tfun.cpp.

References lf_db_mount_name(), and LF_EXPORT.

Referenced by lf_db_mount_name().

◆ lf_db_new()

DEPRECATED lfDatabase * lf_db_new ( void )

Create a new empty database object.

This function is deprecated, use lf_db_create () instead.

Returns
A new empty database object.
See also
lfDatabase::lfDatabase
Examples
example.c, and tfun.cpp.

References DEPRECATED, lf_db_new(), and LF_EXPORT.

Referenced by lf_db_new().

◆ lf_db_read_timestamp()

long int lf_db_read_timestamp ( lfDatabase * db,
const char * dirname )

◆ lf_db_save()

char * lf_db_save ( const lfMount *const * mounts,
const lfCamera *const * cameras,
const lfLens *const * lenses )
See also
lfDatabase::Save(const lfMount *const *, const lfCamera *const *, const lfLens *const *)

References lf_db_save(), and LF_EXPORT.

Referenced by lf_db_save().

◆ lf_db_save_all()

lfError lf_db_save_all ( const lfDatabase * db,
const char * filename )
See also
lfDatabase::Save(const char *)

References lf_db_save_all(), and LF_EXPORT.

Referenced by lf_db_save_all().

◆ lf_db_save_file()

lfError lf_db_save_file ( const lfDatabase * db,
const char * filename,
const lfMount *const * mounts,
const lfCamera *const * cameras,
const lfLens *const * lenses )
See also
lfDatabase::Save(const char *, const lfMount *const *, const lfCamera *const *, const lfLens *const *)
Examples
example.c.

References lf_db_save_file(), and LF_EXPORT.

Referenced by lf_db_save_file().

Variable Documentation

◆ lf_db_system_location

const char* const lf_db_system_location
extern

◆ lf_db_system_updates_location

const char* const lf_db_system_updates_location
extern

◆ lf_db_user_location

const char* const lf_db_user_location
extern

◆ lf_db_user_updates_location

const char* const lf_db_user_updates_location
extern