gen.lib.gvc.gvplugin__c Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of plantuml-lgpl Show documentation
Show all versions of plantuml-lgpl Show documentation
PlantUML is a component that allows to quickly write diagrams from text.
// THIS FILE HAS BEEN GENERATED BY A PREPROCESSOR.
/* +=======================================================================
* |
* | PlantUML : a free UML diagram generator
* |
* +=======================================================================
*
* (C) Copyright 2009-2024, Arnaud Roques
*
* Project Info: https://plantuml.com
*
* If you like this project or if you find it useful, you can support us at:
*
* https://plantuml.com/patreon (only 1$ per month!)
* https://plantuml.com/liberapay (only 1€ per month!)
* https://plantuml.com/paypal
*
*
* PlantUML 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 3 of the License, or
* (at your option) any later version.
*
* PlantUML 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, see .
*
* PlantUML can occasionally display sponsored or advertising messages. Those
* messages are usually generated on welcome or error images and never on
* functional diagrams.
* See https://plantuml.com/professional if you want to remove them
*
* Images (whatever their format : PNG, SVG, EPS...) generated by running PlantUML
* are owned by the author of their corresponding sources code (that is, their
* textual description in PlantUML language). Those images are not covered by
* this LGPL license.
*
* The generated images can then be used without any reference to the LGPL license.
* It is not even necessary to stipulate that they have been generated with PlantUML,
* although this will be appreciated by the PlantUML team.
*
* There is an exception : if the textual description in PlantUML language is also covered
* by any license, then the generated images are logically covered
* by the very same license.
*
* This is the IGY distribution (Install GraphViz by Yourself).
* You have to install GraphViz and to setup the GRAPHVIZ_DOT environment variable
* (see https://plantuml.com/graphviz-dot )
*
* Icons provided by OpenIconic : https://useiconic.com/open
* Archimate sprites provided by Archi : http://www.archimatetool.com
* Stdlib AWS provided by https://github.com/milo-minderbinder/AWS-PlantUML
* Stdlib Icons provided https://github.com/tupadr3/plantuml-icon-font-sprites
* ASCIIMathML (c) Peter Jipsen http://www.chapman.edu/~jipsen
* ASCIIMathML (c) David Lippman http://www.pierce.ctc.edu/dlippman
* CafeUndZopfli ported by Eugene Klyuchnikov https://github.com/eustas/CafeUndZopfli
* Brotli (c) by the Brotli Authors https://github.com/google/brotli
* Themes (c) by Brett Schwarz https://github.com/bschwarz/puml-themes
* Twemoji (c) by Twitter at https://twemoji.twitter.com/
*
*/
package gen.lib.gvc;
import static smetana.core.JUtils.strchr;
import static smetana.core.JUtils.strncpy;
import static smetana.core.Macro.UNSUPPORTED;
import static smetana.core.debug.SmetanaDebug.ENTERING;
import static smetana.core.debug.SmetanaDebug.LEAVING;
import gen.annotation.Original;
import gen.annotation.Unused;
import h.EN_api_t;
import h.ST_GVC_s;
import h.ST_gvplugin_available_s;
import h.ST_gvplugin_installed_t;
import smetana.core.CString;
import smetana.core.__ptr__;
public class gvplugin__c {
//3 cxx1gbe13gcf3krmmqjiyr7di
// boolean gvplugin_install(GVC_t * gvc, api_t api, const char *typestr, int quality, gvplugin_package_t * package, gvplugin_installed_t * typeptr)
@Unused
@Original(version="2.38.0", path="lib/gvc/gvplugin.c", name="gvplugin_install", key="cxx1gbe13gcf3krmmqjiyr7di", definition="boolean gvplugin_install(GVC_t * gvc, api_t api, const char *typestr, int quality, gvplugin_package_t * package, gvplugin_installed_t * typeptr)")
public static Object gvplugin_install(Object... arg_) {
UNSUPPORTED("619rhf5ymot3codnbzksouis6"); // boolean gvplugin_install(GVC_t * gvc, api_t api, const char *typestr,
throw new UnsupportedOperationException();
}
//3 dh7wri9ra8xvm9ur14gd95xjj
// gvplugin_available_t *gvplugin_load(GVC_t * gvc, api_t api, const char *str)
@Unused
@Original(version="2.38.0", path="lib/gvc/gvplugin.c", name="", key="dh7wri9ra8xvm9ur14gd95xjj", definition="gvplugin_available_t *gvplugin_load(GVC_t * gvc, api_t api, const char *str)")
public static ST_gvplugin_available_s gvplugin_load(ST_GVC_s gvc, EN_api_t api, CString str) {
ENTERING("dh7wri9ra8xvm9ur14gd95xjj","gvplugin_load");
try {
//gvplugin_available_s **pnext;
//gvplugin_available_s rv;
__ptr__ library;
__ptr__ apis;
ST_gvplugin_installed_t types;
CString reqtyp = new CString(64), typ = new CString(64);
CString reqdep, dep , reqpkg;
int i;
EN_api_t apidep;
if (api == EN_api_t.API_device || api == EN_api_t.API_loadimage)
/* api dependencies - FIXME - find better way to code these *s */
apidep = EN_api_t.API_render;
else
apidep = api;
strncpy(reqtyp, str, 64 - 1);
reqdep = strchr(reqtyp, ':');
if (reqdep!=null) {
UNSUPPORTED("v4f234lwajz9y86dpuwr76x4"); // *reqdep++ = '\0';
UNSUPPORTED("bj9a4dr8mxpww0obi8zxgrz8n"); // reqpkg = strchr(reqdep, ':');
UNSUPPORTED("9de4oolo5nfmp3pn7rc8z7mpi"); // if (reqpkg)
UNSUPPORTED("2web68ydx2ds095472meaj5uu"); // *reqpkg++ = '\0';
} else
reqpkg = null;
/* iterate the linked list of plugins for this api */
if (gvc!=null) return null;
UNSUPPORTED("68d0gbzwhglez9tyb4bkt0lcd"); // for (pnext = &(gvc->apis[api]); *pnext; pnext = &((*pnext)->next)) {
UNSUPPORTED("3axytqbyra7wocgomcecm4wlg"); // strncpy(typ, (*pnext)->typestr, 64 - 1);
UNSUPPORTED("e5b2el2saiq79o4ykn7kmxwyt"); // dep = strchr(typ, ':');
UNSUPPORTED("chw9vqfst4822csk8kr1l0it"); // if (dep)
UNSUPPORTED("6sqb7qw747g3hskwfejd5dcdt"); // *dep++ = '\0';
UNSUPPORTED("b60wz4e3fwt100yl0ccqx3iag"); // if (strcmp(typ, reqtyp))
UNSUPPORTED("1e1b2en921iu779xkfhuf9bty"); // continue; /* types empty or mismatched */
UNSUPPORTED("aluni9fobueuk3p10vji0llg5"); // if (dep && reqdep && strcmp(dep, reqdep))
UNSUPPORTED("bxrhpucln1iea8ytua2k3re1u"); // continue; /* dependencies not empty, but mismatched */
UNSUPPORTED("6u3aquvaxygyv1w8s3hgeeikl"); // if (!reqpkg || strcmp(reqpkg, (*pnext)->package->name) == 0) {
UNSUPPORTED("e2bkyex2gkrmc414i8wvkb7xi"); // /* found with no packagename constraints, or with required matching packagname */
UNSUPPORTED("59jlxa3m4zama5p713kkyz5r4"); // if (dep && (apidep != api)) /* load dependency if needed, continue if can't find */
UNSUPPORTED("bsf9jjuzyv8iihk6zjrivkvcn"); // if (!(gvplugin_load(gvc, apidep, dep)))
UNSUPPORTED("ci4p4wle87mwq773w72esmnae"); // continue;
UNSUPPORTED("dtx9szdvwh3uhziubh9zvgbk5"); // break;
UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // }
UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
UNSUPPORTED("27lmfyh0m79d94stpbddkdzrv"); // rv = *pnext;
UNSUPPORTED("binj9wmdpb8vem5hhtbh5733n"); // if (rv && rv->typeptr == NULL) {
UNSUPPORTED("15j4x1t80duys316q8r9fkkt1"); // library = gvplugin_library_load(gvc, rv->package->path);
UNSUPPORTED("6pxp53rlv5d0tsd06clxz8vof"); // if (library) {
UNSUPPORTED("d2alhhvljuuo0uf6nb3o1kp2g"); // /* Now activate the library with real type ptrs */
UNSUPPORTED("5umnd01nbv4ejzdswcukud4ah"); // for (apis = library->apis; (types = apis->types); apis++) {
UNSUPPORTED("5qm5zem2mppsmhrid6q2g198g"); // for (i = 0; types[i].type; i++) {
UNSUPPORTED("20c1krmmv0xuknbbvm603bvel"); // /* NB. quality is not checked or replaced
UNSUPPORTED("dln3p27g47v58k0z2h13ce0mb"); // * in case user has manually edited quality in config */
UNSUPPORTED("8o3drgb2uqfbdsbqcd60n2hly"); // gvplugin_activate(gvc, apis->api, types[i].type, library->packagename, rv->package->path, &types[i]);
UNSUPPORTED("7nxu74undh30brb8laojud3f9"); // }
UNSUPPORTED("7g94ubxa48a1yi3mf9v521b7c"); // }
UNSUPPORTED("cx6aan764qxohieo76h56olf5"); // if (gvc->common.verbose >= 1)
UNSUPPORTED("4k41k50htzpoy2mb5tmed3i8e"); // fprintf(stderr, "Activated plugin library: %s\n", rv->package->path ? rv->package->path : "");
UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // }
UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
UNSUPPORTED("3qiszxrlm01hncks79ifwi9jh"); // /* one last check for successfull load */
UNSUPPORTED("42v8vw2rohnx3tnrmuc85yz2d"); // if (rv && rv->typeptr == NULL)
UNSUPPORTED("7bu34crrs14254woee3o1yuk1"); // rv = NULL;
UNSUPPORTED("930q30ejwekyhfjobgapch0l5"); // if (rv && gvc->common.verbose >= 1)
UNSUPPORTED("790j90vrtpqkyprttlog78ciy"); // fprintf(stderr, "Using %s: %s:%s\n", api_names[api], rv->typestr, rv->package->name);
UNSUPPORTED("1mos1622e46mcs6eq5qmg29ht"); // gvc->api[api] = rv;
UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv;
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
throw new UnsupportedOperationException();
} finally {
LEAVING("dh7wri9ra8xvm9ur14gd95xjj","gvplugin_load");
}
}
}