gwenhywfar 4.0.3
|
#include "plugindescr_p.h"
#include "i18n_l.h"
#include <gwenhywfar/buffer.h>
#include <gwenhywfar/debug.h>
#include <gwenhywfar/directory.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <string.h>
Go to the source code of this file.
#define DISABLE_DEBUGLOG |
Definition at line 29 of file plugindescr.c.
GWEN_PLUGIN_DESCRIPTION_LIST2* GWEN_LoadPluginDescrs | ( | const char * | path | ) |
Definition at line 383 of file plugindescr.c.
References GWEN_LoadPluginDescrsByType().
int GWEN_LoadPluginDescrsByType | ( | const char * | path, |
const char * | type, | ||
GWEN_PLUGIN_DESCRIPTION_LIST2 * | pdl | ||
) |
Loads a list of plugins descriptions. When parsing the description files entries for the current language will be selected. The current language can be set via GWEN_I18N_SetLocale.
path | folder to search for XML files |
type | plugin type (property "type" of tag "plugin") |
pdl | plugin descriptions list2 to load descriptions to |
Definition at line 413 of file plugindescr.c.
References DBG_DEBUG, DBG_ERROR, DBG_INFO, DBG_WARN, GWEN_Buffer_AppendByte(), GWEN_Buffer_AppendString(), GWEN_Buffer_Crop(), GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_GetUsedBytes(), GWEN_Buffer_new(), GWEN_Buffer_SetPos(), GWEN_DIR_SEPARATOR, GWEN_Directory_Close(), GWEN_Directory_free(), GWEN_Directory_new(), GWEN_Directory_Open(), GWEN_Directory_Read(), GWEN_I18N_GetCurrentLocaleList(), GWEN_LOGDOMAIN, GWEN_PluginDescription_new(), GWEN_PluginDescription_SetFileName(), GWEN_PluginDescription_SetPath(), GWEN_StringList_FirstEntry(), GWEN_StringListEntry_Data(), GWEN_StringListEntry_Next(), GWEN_XML_FLAGS_DEFAULT, GWEN_XML_FLAGS_HANDLE_HEADERS, GWEN_XML_FLAGS_HANDLE_OPEN_HTMLTAGS, GWEN_XML_ReadFile(), GWEN_XMLNode_FindFirstTag(), GWEN_XMLNode_free(), GWEN_XMLNode_GetProperty(), GWEN_XMLNode_new(), and GWEN_XMLNodeTypeTag.
Referenced by GWEN_LoadPluginDescrs(), and GWEN_PluginManager_GetPluginDescrs().
int GWEN_PluginDescription__GetLocalizedLongDescrByFormat | ( | const GWEN_PLUGIN_DESCRIPTION * | pd, |
const char * | s, | ||
const char * | lang, | ||
GWEN_BUFFER * | buf | ||
) |
Definition at line 281 of file plugindescr.c.
References DBG_INFO, GWEN_LOGDOMAIN, GWEN_XML_FLAGS_TOLERANT_ENDTAGS, GWEN_XMLNode_FindFirstTag(), GWEN_XMLNode_FindNextTag(), GWEN_XMLNode_GetProperty(), and GWEN_XMLNode_toBuffer().
Referenced by GWEN_PluginDescription_GetLongDescrByFormat().
int GWEN_PluginDescription__GetLongDescrByFormat | ( | const GWEN_PLUGIN_DESCRIPTION * | pd, |
const char * | s, | ||
GWEN_BUFFER * | buf | ||
) |
Definition at line 249 of file plugindescr.c.
References DBG_INFO, GWEN_LOGDOMAIN, GWEN_XML_FLAGS_TOLERANT_ENDTAGS, GWEN_XMLNode_FindFirstTag(), GWEN_XMLNode_FindNextTag(), GWEN_XMLNode_GetProperty(), and GWEN_XMLNode_toBuffer().
Referenced by GWEN_PluginDescription_GetLongDescrByFormat().
void GWEN_PluginDescription_Attach | ( | GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 121 of file plugindescr.c.
GWEN_PLUGIN_DESCRIPTION* GWEN_PluginDescription_dup | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 130 of file plugindescr.c.
References DBG_MEM_INC, GWEN_LIST_INIT, GWEN_NEW_OBJECT, and GWEN_XMLNode_dup().
Referenced by GWEN_Crypt_Token_PluginManager_GetPluginDescrs(), and GWEN_PluginManager_GetPluginDescr().
void GWEN_PluginDescription_free | ( | GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 96 of file plugindescr.c.
References DBG_MEM_DEC, GWEN_FREE_OBJECT, GWEN_LIST_FINI, and GWEN_XMLNode_free().
Referenced by GWEN_PluginDescription_List2_freeAll_cb(), and GWEN_PluginDescription_new().
const char* GWEN_PluginDescription_GetAuthor | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 225 of file plugindescr.c.
const char* GWEN_PluginDescription_GetFileName | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 358 of file plugindescr.c.
const char* GWEN_PluginDescription_GetLongDescr | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 241 of file plugindescr.c.
int GWEN_PluginDescription_GetLongDescrByFormat | ( | const GWEN_PLUGIN_DESCRIPTION * | pd, |
const char * | s, | ||
GWEN_BUFFER * | buf | ||
) |
Seeks for a long description with the given format and the currently selected locale and appends it to the data in the given buffer.
The DESCR tag of the plugin description is expected to contain sub tags named TEXT with the property "FORMAT" describing the format and "LANG" containing the language of the element.
Currently supported format is "html".
pd | plugin description |
s | name of the format (e.g. html) |
buf | buffer to append the description to |
Definition at line 317 of file plugindescr.c.
References DBG_INFO, DBG_NOTICE, GWEN_I18N_GetCurrentLocaleList(), GWEN_LOGDOMAIN, GWEN_PluginDescription__GetLocalizedLongDescrByFormat(), GWEN_PluginDescription__GetLongDescrByFormat(), GWEN_StringList_FirstEntry(), GWEN_StringListEntry_Data(), and GWEN_StringListEntry_Next().
const char* GWEN_PluginDescription_GetName | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 202 of file plugindescr.c.
Referenced by GWEN_Crypt_Token_PluginManager_CheckToken(), and GWEN_PluginManager_GetPluginDescr().
const char* GWEN_PluginDescription_GetPath | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 185 of file plugindescr.c.
const char* GWEN_PluginDescription_GetShortDescr | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 217 of file plugindescr.c.
const char* GWEN_PluginDescription_GetType | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 209 of file plugindescr.c.
const char* GWEN_PluginDescription_GetVersion | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 233 of file plugindescr.c.
GWEN_XMLNODE* GWEN_PluginDescription_GetXmlNode | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Returns the XML node this description consists of (the "plugin" node). It may contain additional information used by programs. This function does not relinquish ownership of the returned pointer, so you MUST NOT free it. As soon as the description itself is destroyed this XML node will be, too. So you have to call GWEN_XMLNode_dup() if you want the XML node to survive the description.
Definition at line 376 of file plugindescr.c.
Referenced by GWEN_Crypt_Token_PluginManager_CheckToken(), and GWEN_Crypt_Token_PluginManager_GetPluginDescrs().
int GWEN_PluginDescription_IsActive | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 399 of file plugindescr.c.
void GWEN_PluginDescription_List2_freeAll | ( | GWEN_PLUGIN_DESCRIPTION_LIST2 * | pdl | ) |
Definition at line 175 of file plugindescr.c.
References GWEN_PluginDescription_List2_freeAll_cb().
Referenced by GWEN_Crypt_Token_PluginManager_CheckToken(), GWEN_Crypt_Token_PluginManager_GetPluginDescrs(), and GWEN_PluginManager_GetPluginDescr().
GWEN_PLUGIN_DESCRIPTION* GWEN_PluginDescription_List2_freeAll_cb | ( | GWEN_PLUGIN_DESCRIPTION * | pd, |
__attribute__((unused)) void * | user_data | ||
) |
Definition at line 167 of file plugindescr.c.
References GWEN_PluginDescription_free().
Referenced by GWEN_PluginDescription_List2_freeAll().
GWEN_PLUGIN_DESCRIPTION* GWEN_PluginDescription_new | ( | GWEN_XMLNODE * | node | ) |
Definition at line 56 of file plugindescr.c.
References DBG_ERROR, DBG_MEM_INC, GWEN_LIST_INIT, GWEN_LOGDOMAIN, GWEN_NEW_OBJECT, GWEN_PluginDescription_free(), GWEN_XMLNode_dup(), GWEN_XMLNode_GetLocalizedCharValue(), and GWEN_XMLNode_GetProperty().
Referenced by GWEN_LoadPluginDescrsByType().
void GWEN_PluginDescription_SetFileName | ( | GWEN_PLUGIN_DESCRIPTION * | pd, |
const char * | s | ||
) |
Definition at line 365 of file plugindescr.c.
Referenced by GWEN_LoadPluginDescrsByType().
void GWEN_PluginDescription_SetIsActive | ( | GWEN_PLUGIN_DESCRIPTION * | pd, |
int | i | ||
) |
Definition at line 406 of file plugindescr.c.
void GWEN_PluginDescription_SetPath | ( | GWEN_PLUGIN_DESCRIPTION * | pd, |
const char * | s | ||
) |
Definition at line 192 of file plugindescr.c.
Referenced by GWEN_LoadPluginDescrsByType().