Lumiera  0.pre.03
»edit your freedom«
interface-descriptor.h File Reference

Go to the source code of this file.

Description

A data record to describe interface, interface instances and plug-in instances.

It is used by the interface system to register, open and manage global extension points and separation interfaces between the components of the application.

Definition in file interface-descriptor.h.

#include "common/interface.h"

Enumerations

enum  lumiera_interface_state {
  LUMIERA_INTERFACE_BROKEN = -1,
  LUMIERA_INTERFACE_EXPERIMENTAL = 0,
  LUMIERA_INTERFACE_DEPRECATED = 1,
  LUMIERA_INTERFACE_BETA = 2,
  LUMIERA_INTERFACE_STABLE = 3
}
 Release state of an interface implementation. More...
 

Functions

 LUMIERA_INTERFACE_DECLARE (lumieraorg_interfacedescriptor, 0, LUMIERA_INTERFACE_SLOT(const char *, name,(LumieraInterface)), LUMIERA_INTERFACE_SLOT(const char *, brief,(LumieraInterface)), LUMIERA_INTERFACE_SLOT(const char *, homepage,(LumieraInterface)), LUMIERA_INTERFACE_SLOT(const char *, version,(LumieraInterface)), LUMIERA_INTERFACE_SLOT(const char *, author,(LumieraInterface)), LUMIERA_INTERFACE_SLOT(const char *, email,(LumieraInterface)), LUMIERA_INTERFACE_SLOT(const char *, copyright,(LumieraInterface)), LUMIERA_INTERFACE_SLOT(const char *, license,(LumieraInterface)), LUMIERA_INTERFACE_SLOT(int, state,(LumieraInterface)),)
 Interface descriptor. More...
 

Enumeration Type Documentation

◆ lumiera_interface_state

Release state of an interface implementation.

The interface subsystem must be able to categorise implementations to present possible upgrade paths to the user. This is done by the tagging it to a certain state in concert with the version and the user supplied version compare function. The respective numbers are chosen in a way that a higher value indicates precedence when selecting an implementation. Note that 'BETA' is higher than 'DEPRECATED', we make the assumption that BETA is at least maintained code and something gets deprecated for some reason. For common practice it is suggested to make a stable release before declaring its predecessor version as deprecated.

Enumerator
LUMIERA_INTERFACE_BROKEN 

some known bugs exist which won't be fixed, don't use this

LUMIERA_INTERFACE_EXPERIMENTAL 

Not finished development code.

LUMIERA_INTERFACE_DEPRECATED 

Old implementation which is now unmaintained and will be removed soon.

LUMIERA_INTERFACE_BETA 

Finished but not finally released implementation for open testing.

LUMIERA_INTERFACE_STABLE 

Finished, released and maintained implementation.

Definition at line 40 of file interface-descriptor.h.

Function Documentation

◆ LUMIERA_INTERFACE_DECLARE()

LUMIERA_INTERFACE_DECLARE ( lumieraorg_interfacedescriptor  ,
,
LUMIERA_INTERFACE_SLOT(const char *, name,(LumieraInterface))  ,
LUMIERA_INTERFACE_SLOT(const char *, brief,(LumieraInterface))  ,
LUMIERA_INTERFACE_SLOT(const char *, homepage,(LumieraInterface))  ,
LUMIERA_INTERFACE_SLOT(const char *, version,(LumieraInterface))  ,
LUMIERA_INTERFACE_SLOT(const char *, author,(LumieraInterface))  ,
LUMIERA_INTERFACE_SLOT(const char *, email,(LumieraInterface))  ,
LUMIERA_INTERFACE_SLOT(const char *, copyright,(LumieraInterface))  ,
LUMIERA_INTERFACE_SLOT(const char *, license,(LumieraInterface))  ,
LUMIERA_INTERFACE_SLOT(int, state,(LumieraInterface))   
)

Interface descriptor.

This defines an interface for querying metadata common to all interface implementations