cpluff.h File Reference


Detailed Description

C-Pluff C API header file.

The elements declared here constitute the C-Pluff C API. To use the API include this file and link the main program and plug-in runtime libraries with the C-Pluff C library. In addition to local declarations, this file also includes cpluffdef.h header file for defines common to C and C++ API.

Include dependency graph for cpluff.h:

Go to the source code of this file.

Data Structures

struct  cp_plugin_info_t
 Plug-in information structure captures information about a plug-in. More...
struct  cp_plugin_import_t
 Information about plug-in import. More...
struct  cp_ext_point_t
 Extension point structure captures information about an extension point. More...
struct  cp_extension_t
 Extension structure captures information about an extension. More...
struct  cp_cfg_element_t
 A configuration element contains configuration information for an extension. More...
struct  cp_plugin_runtime_t
 Container for plug-in runtime information. More...

Defines

#define CP_C_API
 Marks a symbol declaration to be part of the C-Pluff C API.
#define CP_SP_UPGRADE
 This flag enables upgrades of installed plug-ins by unloading the old version and installing the new version.
#define CP_SP_STOP_ALL_ON_UPGRADE
 This flag causes all plug-ins to be stopped before any plug-ins are to be upgraded.
#define CP_SP_STOP_ALL_ON_INSTALL
 This flag causes all plug-ins to be stopped before any plugins are to be installed (also if new version is to be installed as part of an upgrade).
#define CP_SP_RESTART_ACTIVE
 Setting this flag causes the currently active plug-ins to be restarted after all changes to the plug-ins have been made (if they were stopped).

Typedefs

typedef cp_context_t cp_context_t
 A plug-in context represents the co-operation environment of a set of plug-ins from the perspective of a particular participating plug-in or the perspective of the main program.
typedef cp_plugin_info_t cp_plugin_info_t
 A type for cp_plugin_info_t structure.
typedef cp_plugin_import_t cp_plugin_import_t
 A type for cp_plugin_import_t structure.
typedef cp_ext_point_t cp_ext_point_t
 A type for cp_ext_point_t structure.
typedef cp_extension_t cp_extension_t
 A type for cp_extension_t structure.
typedef cp_cfg_element_t cp_cfg_element_t
 A type for cp_cfg_element_t structure.
typedef cp_plugin_runtime_t cp_plugin_runtime_t
 A type for cp_plugin_runtime_t structure.
typedef enum cp_status_t cp_status_t
 A type for cp_status_t enumeration.
typedef enum cp_plugin_state_t cp_plugin_state_t
 A type for cp_plugin_state_t enumeration.
typedef enum cp_log_severity_t cp_log_severity_t
 A type for cp_log_severity_t enumeration.
typedef void(*) cp_plugin_listener_func_t (const char *plugin_id, cp_plugin_state_t old_state, cp_plugin_state_t new_state, void *user_data)
 A listener function called synchronously after a plugin state change.
typedef void(*) cp_logger_func_t (cp_log_severity_t severity, const char *msg, const char *apid, void *user_data)
 A logger function called to log selected plug-in framework messages.
typedef void(*) cp_fatal_error_func_t (const char *msg)
 A fatal error handler for handling unrecoverable errors.
typedef int(*) cp_run_func_t (void *plugin_data)
 A run function registered by a plug-in to perform work.

Enumerations

enum  cp_status_t {
  CP_OK = 0, CP_ERR_RESOURCE, CP_ERR_UNKNOWN, CP_ERR_IO,
  CP_ERR_MALFORMED, CP_ERR_CONFLICT, CP_ERR_DEPENDENCY, CP_ERR_RUNTIME
}
 An enumeration of status codes returned by API functions. More...
enum  cp_plugin_state_t {
  CP_PLUGIN_UNINSTALLED, CP_PLUGIN_INSTALLED, CP_PLUGIN_RESOLVED, CP_PLUGIN_STARTING,
  CP_PLUGIN_STOPPING, CP_PLUGIN_ACTIVE
}
 An enumeration of possible plug-in states. More...
enum  cp_log_severity_t { CP_LOG_DEBUG, CP_LOG_INFO, CP_LOG_WARNING, CP_LOG_ERROR }
 An enumeration of possible message severities for framework logging. More...

Functions

const char * cp_get_version (void)
 Returns the release version string of the linked in C-Pluff implementation.
const char * cp_get_host_type (void)
 Returns the canonical host type associated with the linked in C-Pluff implementation.
void cp_set_fatal_error_handler (cp_fatal_error_func_t error_handler)
 Sets the fatal error handler called on non-recoverable errors.
cp_status_t cp_init (void)
 Initializes the plug-in framework.
void cp_destroy (void)
 Destroys the plug-in framework and releases the resources used by it.
cp_context_tcp_create_context (cp_status_t *status)
 Creates a new plug-in context which can be used as a container for plug-ins.
void cp_destroy_context (cp_context_t *ctx)
 Destroys the specified plug-in context and releases the associated resources.
cp_status_t cp_register_pcollection (cp_context_t *ctx, const char *dir)
 Registers a plug-in collection with a plug-in context.
void cp_unregister_pcollection (cp_context_t *ctx, const char *dir)
 Unregisters a previously registered plug-in collection from a plug-in context.
void cp_unregister_pcollections (cp_context_t *ctx)
 Unregisters all plug-in collections from a plug-in context.
cp_status_t cp_register_logger (cp_context_t *ctx, cp_logger_func_t logger, void *user_data, cp_log_severity_t min_severity)
 Registers a logger with a plug-in context or updates the settings of a registered logger.
void cp_unregister_logger (cp_context_t *ctx, cp_logger_func_t logger)
 Removes a logger registration.
void cp_log (cp_context_t *ctx, cp_log_severity_t severity, const char *msg)
 Emits a new log message.
int cp_is_logged (cp_context_t *ctx, cp_log_severity_t severity)
 Returns whether a message of the specified severity would get logged.
cp_plugin_info_tcp_load_plugin_descriptor (cp_context_t *ctx, const char *path, cp_status_t *status)
 Loads a plug-in descriptor from the specified plug-in installation path and returns information about the plug-in.
cp_status_t cp_install_plugin (cp_context_t *ctx, cp_plugin_info_t *pi)
 Installs the plug-in described by the specified plug-in information structure to the specified plug-in context.
cp_status_t cp_scan_plugins (cp_context_t *ctx, int flags)
 Scans for plug-ins in the registered plug-in directories, installing new plug-ins and upgrading installed plug-ins.
cp_status_t cp_start_plugin (cp_context_t *ctx, const char *id)
 Starts a plug-in.
cp_status_t cp_stop_plugin (cp_context_t *ctx, const char *id)
 Stops a plug-in.
void cp_stop_plugins (cp_context_t *ctx)
 Stops all active plug-ins.
cp_status_t cp_uninstall_plugin (cp_context_t *ctx, const char *id)
 Uninstalls the specified plug-in.
void cp_uninstall_plugins (cp_context_t *ctx)
 Uninstalls all plug-ins.
cp_plugin_info_tcp_get_plugin_info (cp_context_t *ctx, const char *id, cp_status_t *status)
 Returns static information about the specified plug-in.
cp_plugin_info_t ** cp_get_plugins_info (cp_context_t *ctx, cp_status_t *status, int *num)
 Returns static information about the installed plug-ins.
cp_ext_point_t ** cp_get_ext_points_info (cp_context_t *ctx, cp_status_t *status, int *num)
 Returns static information about the currently installed extension points.
cp_extension_t ** cp_get_extensions_info (cp_context_t *ctx, const char *extpt_id, cp_status_t *status, int *num)
 Returns static information about the currently installed extension points.
void cp_release_info (cp_context_t *ctx, void *info)
 Releases a previously obtained reference counted information object.
cp_plugin_state_t cp_get_plugin_state (cp_context_t *ctx, const char *id)
 Returns the current state of the specified plug-in.
cp_status_t cp_register_plistener (cp_context_t *ctx, cp_plugin_listener_func_t listener, void *user_data)
 Registers a plug-in listener with a plug-in context.
void cp_unregister_plistener (cp_context_t *ctx, cp_plugin_listener_func_t listener)
 Removes a plug-in listener from a plug-in context.
cp_cfg_element_tcp_lookup_cfg_element (cp_cfg_element_t *base, const char *path)
 Traverses a configuration element tree and returns the specified element.
char * cp_lookup_cfg_value (cp_cfg_element_t *base, const char *path)
 Traverses a configuration element tree and returns the value of the specified element or attribute.
cp_status_t cp_run_function (cp_context_t *ctx, cp_run_func_t runfunc)
 Registers a new run function.
void cp_run_plugins (cp_context_t *ctx)
 Runs the started plug-ins as long as there is something to run.
int cp_run_plugins_step (cp_context_t *ctx)
 Runs one registered run function.
void cp_set_context_args (cp_context_t *ctx, char **argv)
 Sets startup arguments for the specified plug-in context.
char ** cp_get_context_args (cp_context_t *ctx, int *argc)
 Returns the startup arguments associated with the specified plug-in context.
cp_status_t cp_define_symbol (cp_context_t *ctx, const char *name, void *ptr)
 Defines a context specific symbol.
void * cp_resolve_symbol (cp_context_t *ctx, const char *id, const char *name, cp_status_t *status)
 Resolves a symbol provided by the specified plug-in.
void cp_release_symbol (cp_context_t *ctx, const void *ptr)
 Releases a previously obtained symbol.


Generated on Thu Jun 7 05:13:36 2007 for C-Pluff C API by doxygen 1.5.1