MLT  7.24.0
Macros | Typedefs | Functions
mlt_repository.h File Reference

provides a map between service and shared objects More...

#include "mlt_profile.h"
#include "mlt_types.h"

Go to the source code of this file.

Macros

#define MLT_REGISTER(type, service, symbol)    (mlt_repository_register(repository, (type), (service), (mlt_register_callback) (symbol)))
 A convenience macro to a register service in a more declarative manner. More...
 
#define MLT_REGISTER_METADATA(type, service, callback, data)
 A convenience macro to a register metadata in a more declarative manner. More...
 
#define MLT_REPOSITORY   void mlt_register(mlt_repository repository)
 A convenience macro to create an entry point for service registration. More...
 

Typedefs

typedef mlt_properties(* mlt_metadata_callback) (mlt_service_type, const char *, void *)
 The callback function that modules implement to supply metadata as a properties list. More...
 
typedef void *(* mlt_register_callback) (mlt_profile, mlt_service_type, const char *, const void *)
 The callback function that modules implement to construct a service. More...
 
typedef void(* mlt_repository_callback) (mlt_repository)
 This callback is the main entry point into a module, which must be exported with the symbol "mlt_register". More...
 

Functions

void mlt_repository_close (mlt_repository self)
 
mlt_properties mlt_repository_consumers (mlt_repository self)
 
void * mlt_repository_create (mlt_repository self, mlt_profile profile, mlt_service_type type, const char *service, const void *arg)
 
mlt_properties mlt_repository_filters (mlt_repository self)
 
mlt_repository mlt_repository_init (const char *directory)
 
mlt_properties mlt_repository_languages (mlt_repository self)
 
mlt_properties mlt_repository_links (mlt_repository self)
 
mlt_properties mlt_repository_metadata (mlt_repository self, mlt_service_type type, const char *service)
 
mlt_properties mlt_repository_presets ()
 
mlt_properties mlt_repository_producers (mlt_repository self)
 
void mlt_repository_register (mlt_repository self, mlt_service_type service_type, const char *service, mlt_register_callback)
 
void mlt_repository_register_metadata (mlt_repository self, mlt_service_type type, const char *service, mlt_metadata_callback, void *callback_data)
 
mlt_properties mlt_repository_transitions (mlt_repository self)
 

Detailed Description

provides a map between service and shared objects

See also
mlt_repository_s

Copyright (C) 2003-2014 Meltytech, LLC

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.1 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

Macro Definition Documentation

◆ MLT_REGISTER

#define MLT_REGISTER (   type,
  service,
  symbol 
)     (mlt_repository_register(repository, (type), (service), (mlt_register_callback) (symbol)))

A convenience macro to a register service in a more declarative manner.

◆ MLT_REGISTER_METADATA

#define MLT_REGISTER_METADATA (   type,
  service,
  callback,
  data 
)
Value:
(type), \
(service), \
(data)))
static mlt_repository repository
the global repository singleton
Definition: mlt_factory.c:72
static void(* callback)(void *, int, const char *, va_list)
Definition: mlt_log.c:75
mlt_properties(* mlt_metadata_callback)(mlt_service_type, const char *, void *)
The callback function that modules implement to supply metadata as a properties list.
Definition: mlt_repository.h:48
void mlt_repository_register_metadata(mlt_repository self, mlt_service_type type, const char *service, mlt_metadata_callback callback, void *callback_data)
Register the metadata for a service.
Definition: mlt_repository.c:421

A convenience macro to a register metadata in a more declarative manner.

◆ MLT_REPOSITORY

#define MLT_REPOSITORY   void mlt_register(mlt_repository repository)

A convenience macro to create an entry point for service registration.

Typedef Documentation

◆ mlt_metadata_callback

typedef mlt_properties(* mlt_metadata_callback) (mlt_service_type, const char *, void *)

The callback function that modules implement to supply metadata as a properties list.

◆ mlt_register_callback

typedef void*(* mlt_register_callback) (mlt_profile, mlt_service_type, const char *, const void *)

The callback function that modules implement to construct a service.

◆ mlt_repository_callback

typedef void(* mlt_repository_callback) (mlt_repository)

This callback is the main entry point into a module, which must be exported with the symbol "mlt_register".

Inside the callback, the module registers the additional callbacks below.

Function Documentation

◆ mlt_repository_close()

void mlt_repository_close ( mlt_repository  self)

◆ mlt_repository_consumers()

mlt_properties mlt_repository_consumers ( mlt_repository  self)

◆ mlt_repository_create()

void* mlt_repository_create ( mlt_repository  self,
mlt_profile  profile,
mlt_service_type  type,
const char *  service,
const void *  arg 
)

◆ mlt_repository_filters()

mlt_properties mlt_repository_filters ( mlt_repository  self)

◆ mlt_repository_init()

mlt_repository mlt_repository_init ( const char *  directory)

◆ mlt_repository_languages()

mlt_properties mlt_repository_languages ( mlt_repository  self)

◆ mlt_repository_links()

mlt_properties mlt_repository_links ( mlt_repository  self)

◆ mlt_repository_metadata()

mlt_properties mlt_repository_metadata ( mlt_repository  self,
mlt_service_type  type,
const char *  service 
)

◆ mlt_repository_presets()

mlt_properties mlt_repository_presets ( )

◆ mlt_repository_producers()

mlt_properties mlt_repository_producers ( mlt_repository  self)

◆ mlt_repository_register()

void mlt_repository_register ( mlt_repository  self,
mlt_service_type  service_type,
const char *  service,
mlt_register_callback   
)

◆ mlt_repository_register_metadata()

void mlt_repository_register_metadata ( mlt_repository  self,
mlt_service_type  type,
const char *  service,
mlt_metadata_callback  ,
void *  callback_data 
)

◆ mlt_repository_transitions()

mlt_properties mlt_repository_transitions ( mlt_repository  self)