|
||||
File indexing completed on 2024-11-15 09:42:50
0001 /// @file 0002 /// @ingroup plugin_api 0003 /// @defgroup plugin_api Plugin API 0004 /// @ingroup public_apis 0005 /// @{ 0006 /************************************************************************* 0007 * Copyright (c) 2011 AT&T Intellectual Property 0008 * All rights reserved. This program and the accompanying materials 0009 * are made available under the terms of the Eclipse Public License v1.0 0010 * which accompanies this distribution, and is available at 0011 * https://www.eclipse.org/legal/epl-v10.html 0012 * 0013 * Contributors: Details at https://graphviz.org 0014 *************************************************************************/ 0015 0016 /* Header used by plugins */ 0017 0018 #pragma once 0019 0020 #ifdef __cplusplus 0021 extern "C" { 0022 #endif 0023 0024 #include "gvcext.h" 0025 0026 /* 0027 * Terminology: 0028 * 0029 * package - e.g. libgvplugin_cairo.so 0030 * api - e.g. render 0031 * type - e.g. "png", "ps" 0032 */ 0033 0034 /// ingroup plugin_api 0035 typedef struct { 0036 int id; /* an id that is only unique within a package 0037 of plugins of the same api. 0038 A renderer-type such as "png" in the cairo package 0039 has an id that is different from the "ps" type 0040 in the same package */ 0041 const char *type; /* a string name, such as "png" or "ps" that 0042 distinguishes different types within the same 0043 (renderer in this case) */ 0044 int quality; /* an arbitrary integer used for ordering plugins of 0045 the same type from different packages */ 0046 void *engine; /* pointer to the jump table for the plugin */ 0047 void *features; /* pointer to the feature description 0048 void* because type varies by api */ 0049 } gvplugin_installed_t; 0050 0051 typedef struct { 0052 api_t api; 0053 gvplugin_installed_t *types; 0054 } gvplugin_api_t; 0055 0056 typedef struct { 0057 char *packagename; /* used when this plugin is builtin and has 0058 no pathname */ 0059 gvplugin_api_t *apis; 0060 } gvplugin_library_t; 0061 /// @} 0062 0063 #ifdef __cplusplus 0064 } 0065 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |