# cp_plugin_info_t Struct Reference
[Data structures]

Collaboration diagram for cp_plugin_info_t:

[legend]

## Detailed Description

Plug-in information structure captures information about a plug-in.

This information can be loaded from a plug-in descriptor using cp_load_plugin_descriptor. Information about installed plug-ins can be obtained using cp_get_plugin_info and cp_get_plugins_info. This structure corresponds to the plugin element in a plug-in descriptor.

## Data Fields

char * | identifier
| The obligatory unique identifier of the plugin.
char * | name
| An optional plug-in name.
char * | version
| An optional release version string.
char * | provider_name
| An optional provider name.
char * | plugin_path
| Path of the plugin directory or NULL if not known.
char * | abi_bw_compatibility
| Optional ABI compatibility information.
char * | api_bw_compatibility
| Optional API compatibility information.
char * | req_cpluff_version
| Optional C-Pluff version requirement.
unsigned int | num_imports
| Number of import entries in the imports array.
cp_plugin_import_t * | imports
| An array of num_imports import entries.
char * | runtime_lib_name
| The base name of the plug-in runtime library, or NULL if none.
char * | runtime_funcs_symbol
| The symbol pointing to the plug-in runtime function information or NULL if none.
unsigned int | num_ext_points
| Number of extension points in ext_points array.
cp_ext_point_t * | ext_points
| An array of num_ext_points extension points provided by this plug-in.
unsigned int | num_extensions
| Number of extensions in extensions array.
cp_extension_t * | extensions
| An array of num_extensions extensions provided by this plug-in.

## Field Documentation

char* identifier

The obligatory unique identifier of the plugin.

A recommended way to generate identifiers is to use domain name service (DNS) prefixes (for example, org.cpluff.ExamplePlugin) to avoid naming conflicts. This corresponds to the id attribute of the plugin element in a plug-in descriptor.

char* name

An optional plug-in name.

NULL if not available. The plug-in name is intended only for display purposes and the value can be localized. This corresponds to the name attribute of the plugin element in a plug-in descriptor.

char* version

An optional release version string.

NULL if not available. This corresponds to the version attribute of the plugin element in a plug-in descriptor.

char* provider_name

An optional provider name.

NULL if not available. This is the name of the author or the organization providing the plug-in. The provider name is intended only for display purposes and the value can be localized. This corresponds to the provider-name attribute of the plugin element in a plug-in descriptor.

char* plugin_path

Path of the plugin directory or NULL if not known.

This is the (absolute or relative) path to the plug-in directory containing plug-in data and the plug-in runtime library. The value corresponds to the path specified to cp_load_plugin_descriptor when loading the plug-in.

char* abi_bw_compatibility

Optional ABI compatibility information.

NULL if not available. This is the earliest version of the plug-in interface the current interface is backwards compatible with when it comes to the application binary interface (ABI) of the plug-in. That is, plug-in clients compiled against any plug-in interface version from abi_bw_compatibility to version (inclusive) can use the current version of the plug-in binary. This describes binary or runtime compatibility. The value corresponds to the abi-compatibility attribute of the backwards-compatibility element in a plug-in descriptor.

char* api_bw_compatibility

Optional API compatibility information.

NULL if not available. This is the earliest version of the plug-in interface the current interface is backwards compatible with when it comes to the application programming interface (API) of the plug-in. That is, plug-in clients written for any plug-in interface version from api_bw_compatibility to version (inclusive) can be compiled against the current version of the plug-in API. This describes source or build time compatibility. The value corresponds to the api-compatibility attribute of the backwards-compatibility element in a plug-in descriptor.

char* req_cpluff_version

Optional C-Pluff version requirement.

NULL if not available. This is the version of the C-Pluff implementation the plug-in was compiled against. It is used to determine the compatibility of the plug-in runtime and the linked in C-Pluff implementation. Any C-Pluff version that is backwards compatible on binary level with the specified version fulfills the requirement.

unsigned int num_imports

Number of import entries in the imports array.

cp_plugin_import_t* imports

An array of num_imports import entries.

These correspond to import elements in a plug-in descriptor.

char* runtime_lib_name

The base name of the plug-in runtime library, or NULL if none.

A platform specific prefix (for example, "lib") and an extension (for example, ".dll" or ".so") may be added to the base name. This corresponds to the library attribute of the runtime element in a plug-in descriptor.

char* runtime_funcs_symbol

The symbol pointing to the plug-in runtime function information or NULL if none.

The symbol with this name should point to an instance of cp_plugin_runtime_t structure. This corresponds to the funcs attribute of the runtime element in a plug-in descriptor.

unsigned int num_ext_points

Number of extension points in ext_points array.

cp_ext_point_t* ext_points

An array of num_ext_points extension points provided by this plug-in.

These correspond to extension-point elements in a plug-in descriptor.

unsigned int num_extensions

Number of extensions in extensions array.

cp_extension_t* extensions

An array of num_extensions extensions provided by this plug-in.

These correspond to extension elements in a plug-in descriptor.

The documentation for this struct was generated from the following file:

- cpluff.h

Generated on Fri Apr 6 15:40:57 2007 for C-Pluff C API by 1.5.1