gwenhywfar
4.6.0beta
|
#include "plugindescr_p.h"
#include "i18n_l.h"
#include <gwenhywfar/buffer.h>
#include <gwenhywfar/debug.h>
#include <gwenhywfar/directory.h>
#include <gwenhywfar/i18n.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <string.h>
Go to the source code of this file.
Macros | |
#define | DISABLE_DEBUGLOG |
#define DISABLE_DEBUGLOG |
Definition at line 29 of file plugindescr.c.
GWEN_PLUGIN_DESCRIPTION_LIST2* GWEN_LoadPluginDescrs | ( | const char * | path | ) |
Definition at line 396 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 425 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 294 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 262 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 132 of file plugindescr.c.
GWEN_PLUGIN_DESCRIPTION* GWEN_PluginDescription_dup | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 141 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 106 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 238 of file plugindescr.c.
const char* GWEN_PluginDescription_GetFileName | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 371 of file plugindescr.c.
const char* GWEN_PluginDescription_GetLongDescr | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 254 of file plugindescr.c.
References GWEN_I18N_Translate().
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 330 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 215 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 198 of file plugindescr.c.
const char* GWEN_PluginDescription_GetShortDescr | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 230 of file plugindescr.c.
References GWEN_I18N_Translate().
const char* GWEN_PluginDescription_GetType | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 222 of file plugindescr.c.
const char* GWEN_PluginDescription_GetVersion | ( | const GWEN_PLUGIN_DESCRIPTION * | pd | ) |
Definition at line 246 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 389 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 411 of file plugindescr.c.
void GWEN_PluginDescription_List2_freeAll | ( | GWEN_PLUGIN_DESCRIPTION_LIST2 * | pdl | ) |
Definition at line 188 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 180 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 57 of file plugindescr.c.
References DBG_ERROR, DBG_MEM_INC, DBG_WARN, GWEN_LIST_INIT, GWEN_LOGDOMAIN, GWEN_NEW_OBJECT, GWEN_PluginDescription_free(), GWEN_XMLNode_dup(), GWEN_XMLNode_GetCharValue(), GWEN_XMLNode_GetProperty(), and NULL.
Referenced by GWEN_LoadPluginDescrsByType().
void GWEN_PluginDescription_SetFileName | ( | GWEN_PLUGIN_DESCRIPTION * | pd, |
const char * | s | ||
) |
Definition at line 378 of file plugindescr.c.
Referenced by GWEN_LoadPluginDescrsByType().
void GWEN_PluginDescription_SetIsActive | ( | GWEN_PLUGIN_DESCRIPTION * | pd, |
int | i | ||
) |
Definition at line 418 of file plugindescr.c.
void GWEN_PluginDescription_SetPath | ( | GWEN_PLUGIN_DESCRIPTION * | pd, |
const char * | s | ||
) |
Definition at line 205 of file plugindescr.c.
Referenced by GWEN_LoadPluginDescrsByType().