#include "erreglog.h"
#include <libermanifest/ermanifest.h>
#include "erregapidefs.h"
#include "erregtypes.h"
#include "erregxsd.h"
Go to the source code of this file.
Classes | |
struct | xpathList_t |
struct | regRegistry_t |
Defines | |
#define | EL_REGISTRY_ROOT "iLiadRegistry" |
#define | EL_VERSION "version" |
#define | EL_USER_PROFILE "userProfile" |
#define | EL_USER_SETTING "userSetting" |
#define | EL_PC_PROFILES "pcProfileList" |
#define | EL_PC_PROFILE "pcProfile" |
#define | EL_AUTO_CONNECT "autoConnect" |
#define | EL_BACKGOUND "background" |
#define | EL_TIMED_IDS "timedIds" |
#define | EL_ENABLE_TIMEDIDS "enable" |
#define | EL_TIMESET "timeSet" |
#define | EL_TIME "time" |
#define | EL_ENABLE_SWUPDATE "swUpdate" |
#define | EL_ENABLE_SWITCHOFF "switchOff" |
#define | EL_CATEGORIES "categories" |
#define | EL_CATEGORY "category" |
#define | EL_SORT "sort" |
#define | EL_LASTREADS "lastReads" |
#define | EL_LASTREAD "lastRead" |
#define | EL_APPLICATIONS "applications" |
#define | EL_APPLICATION "application" |
#define | EL_SUPPORT_FORMAT "supportFormat" |
#define | EL_ARG_MASK "argMask" |
#define | EL_EXTENSION_INFOS "extensionInfos" |
#define | EL_EXTENSION_INFO "extensionInfo" |
#define | EL_START_UP "startup" |
#define | EL_NETWORK_PROFILES "networkProfileList" |
#define | EL_NETWORK_PROFILE "networkProfile" |
#define | EL_WLAN_DETAILS "wlanDetails" |
#define | EL_DIALUP_DETAILS "dialupDetails" |
#define | EL_IP_STATIC_DETAILS "ipStaticDetails" |
#define | EL_PROXY_DETAILS "proxyDetails" |
#define | EL_LAST_CONNECT "lastConnect" |
#define | EL_TOOLBAR_ICONS "toolbarIcons" |
#define | EL_TOOLBAR_ICON "toolbarIcon" |
#define | EL_REGISTRY "registry" |
#define | EL_NAME "name" |
#define | EL_EMAIL "email" |
#define | EL_PASSWORD "password" |
#define | EL_REDIRECT_URL "redirectUrl" |
#define | EL_LANGUAGE "language" |
#define | EL_SOUND "sound" |
#define | EL_ENABLE "enable" |
#define | EL_VOLUME "volume" |
#define | EL_KEY_BUFFERING "keyBuffering" |
#define | EL_NUMBER_OF_KEYS "numberOfKeys" |
#define | EL_FLIPBAR_DIRECTION "flipbarDirection" |
#define | EL_LONG_KP_TIMEOUT "longKeyPressTimeout" |
#define | EL_PROFILE_NAME "profileName" |
#define | EL_PC_NAME "pcName" |
#define | EL_SHARE_NAME "shareName" |
#define | EL_USER_NAME "userName" |
#define | EL_WORKGROUP "workgroup" |
#define | EL_SERVER_TYPE "serverType" |
#define | EL_INTERVAL "interval" |
#define | EL_LOCATION "location" |
#define | EL_SORT_ASCENDING "ascending" |
#define | EL_SORT_FIELD_TYPE "field" |
#define | EL_EXPORT_MEMORYTYPE "usbExport" |
#define | EL_DOCUMENT_PATH "documentPath" |
#define | EL_MANIFEST_PATH "manifestPath" |
#define | EL_EXT_NAME "extName" |
#define | EL_POSITION "position" |
#define | EL_APP_CATEGORY "appCategory" |
#define | EL_X_RES_NAME "xResourceName" |
#define | EL_IPC_CHANNEL "ipcChannel" |
#define | EL_APP_ICON_PATH "appIconPath" |
#define | EL_EXECUTE "execute" |
#define | EL_ASSOCIATE_APP "associateApp" |
#define | EL_ASSOCIATE_ORDER "associateOrder" |
#define | EL_EXT_ICON "extIcon" |
#define | EL_BEHAVIOUR "behaviour" |
#define | EL_NETWORK_TYPE "networkType" |
#define | EL_WLAN_SSID "wlanSsid" |
#define | EL_WLAN_ENCRYPTION_TYPE "wlanEncryptionType" |
#define | EL_WLAN_ENCRYPTION_KEY "wlanEncryptionKey" |
#define | EL_WLAN_MODE "wlanMode" |
#define | EL_WLAN_CHANNEL "wlanChannel" |
#define | EL_WLAN_BROADCAST "wlanBroadcast" |
#define | EL_DIALUP_PHONE "dialupPhone" |
#define | EL_DIALUP_USER "dialupUser" |
#define | EL_DIALUP_PASSWORD "dialupPassword" |
#define | EL_USE_DHCP "useDhcp" |
#define | EL_IP_ADDRESS "ipAddress" |
#define | EL_IP_NETMASK "ipNetmask" |
#define | EL_IP_DNS "ipNameServer" |
#define | EL_IP_GATEWAY "ipGateway" |
#define | EL_USE_PROXY "useProxy" |
#define | EL_PROXY_SERVER "server" |
#define | EL_PROXY_PORT "port" |
#define | EL_TIMESTAMP "timestamp" |
#define | EL_PROFILE_CONNECTED_IDS "profileConnectedIDS" |
#define | EL_PROFILE_CONNECTED_PC "profileConnectedPC" |
#define | EL_MANUAL_CONNECT_TYPE "manualConnectType" |
#define | EL_AUTO_CONNECT_WLAN "autoConnectWlan" |
#define | EL_ICON_BASE_PATH "iconBasePath" |
#define | EL_ICON_FILE_NAME "iconFileName" |
#define | EL_ICON_BASE_PATH "iconBasePath" |
#define | EL_ICON_FILE_NAME "iconFileName" |
#define | ATTR_PROFILE_ID "profileID" |
#define | ATTR_TYPE "type" |
#define | ATTR_NAME "name" |
#define | ATTR_ID "id" |
#define | IDS "IDS" |
#define | PC "PC" |
#define | SPECIFIC_DOCUMENT "SPECIFIC_DOCUMENT" |
#define | REFERENCE_MATERIALS "REFERENCE_MATERIALS" |
#define | LAST_READ_DOCUMENT "LAST_READ_DOCUMENT" |
#define | RECENT_DOCUMENTS "RECENT_DOCUMENTS" |
#define | DEVICE_MANAGER "DEVICE_MANAGER" |
#define | NEWS_FOLDER "NEWS_FOLDER" |
#define | BOOKS_FOLDER "BOOKS_FOLDER" |
#define | DOCS_FOLDER "DOCS_FOLDER" |
#define | NOTES_FOLDER "NOTES_FOLDER" |
#define | WIRED "WIRED" |
#define | WIRELESS "WIRELESS" |
#define | DIALUP "DIALUP" |
#define | ENCR_NONE "ENCR_NONE" |
#define | ENCR_WEP "ENCR_WEP" |
#define | ENCR_WPA "ENCR_WPA" |
#define | INFRASTRUCTURE "INFRASTRUCTURE" |
#define | ADHOC "ADHOC" |
#define | EL_CONFIG_ROOT "iLiadConfig" |
#define | EL_DEVICE_DETAILS "deviceDetails" |
#define | EL_SOFTWARE "software" |
#define | EL_BUILD_NAME "buildName" |
#define | EL_BUILD_NUM "buildNum" |
#define | EL_MAC_OF_WIRED "macOfWired" |
#define | EL_MAC_OF_WIRELESS "macOfWireless" |
#define | EL_PUBLIC_KEY "publicKey" |
#define | BUF_LEN 1024 |
Functions | |
gboolean | regValidate (regRegistry_t *pRegistry) |
regRegistry_t * | regParseFiles (const char *szXmlFile, const char *szXsdFile) |
gboolean | regStore (regRegistry_t *pRegistry, const char *szFilename) |
void | regDestroy (regRegistry_t *pRegistry) |
regVersion_t * | regGetVersion (const regRegistry_t *pRegistry) |
gboolean | regSetVersion (const regVersion_t *theVersion, regRegistry_t *pRegistry) |
regUserProfile_t * | regGetUserProfile (const regRegistry_t *pRegistry) |
gboolean | regSetUserProfile (const regUserProfile_t *theUserProfile, regRegistry_t *pRegistry) |
regUserSetting_t * | regGetUserSetting (const regRegistry_t *pRegistry) |
gboolean | regSetUserSetting (const regUserSetting_t *theUserSetting, regRegistry_t *pRegistry) |
regPCConfig_t * | regGetPCConfig (const regRegistry_t *pRegistry) |
gboolean | regSetPCConfig (const regPCConfig_t *thePCConfig, regRegistry_t *pRegistry) |
regPCProfile_t * | regGetPCProfile (const char *ID, const regRegistry_t *pRegistry) |
gboolean | regSetPCProfile (const char *ID, const regPCProfile_t *thePCProfile, regRegistry_t *pRegistry) |
gboolean | regRemovePCProfile (const char *ID, regRegistry_t *pRegistry) |
gboolean | regRemovePCConfig (regRegistry_t *pRegistry) |
void | regGetPCProfiles (regPCConfig_t **pPCConfig, regPCProfile_t ***pPCs, const regRegistry_t *pRegistry) |
gboolean | regSetPCProfiles (const regPCConfig_t *pPCConfig, const regPCProfile_t **pPCs, regRegistry_t *pRegistry) |
regAutoConnect_t * | regGetAutoConnect (const regRegistry_t *pRegistry) |
gboolean | regSetAutoConnect (const regAutoConnect_t *theAutoConnect, regRegistry_t *pRegistry) |
regTimedIds_t * | regGetTimedIds (const regRegistry_t *pRegistry) |
gboolean | regSetTimedIds (regTimedIds_t *theTimedIds, regRegistry_t *pRegistry) |
regContentCategory_t * | regGetContentCategory (const char *ID, const regRegistry_t *pRegistry) |
gboolean | regSetContentCategory (const char *ID, const regContentCategory_t *theContentCategory, regRegistry_t *pRegistry) |
regExportMemType_t * | regGetExportMemType (const regRegistry_t *pRegistry) |
gboolean | regSetExportMemType (const regExportMemType_t *theExportMemType, regRegistry_t *pRegistry) |
regLastRead_t * | regGetLastRead (const char *ID, regRegistry_t *pRegistry) |
gboolean | regSetLastRead (const char *ID, const regLastRead_t *theLastRead, regRegistry_t *pRegistry) |
regUserAppList_t * | regGetUserAppList (const regRegistry_t *pRegistry) |
regUserApp_t * | regGetUserApp (const char *uaID, const regRegistry_t *pRegistry) |
gboolean | regSetUserApp (const char *uaID, const regUserApp_t *theUserApp, regRegistry_t *pRegistry) |
regExtInfoList_t * | regGetExtInfoList (const char *extension, const regRegistry_t *pRegistry) |
This function will return an array of regExtInfo_t nodes. | |
regStartUp_t * | regGetStartUp (const regRegistry_t *pRegistry) |
gboolean | regSetStartUp (const regStartUp_t *theStartUp, regRegistry_t *pRegistry) |
regNetworkConfig_t * | regGetNetworkConfig (const regRegistry_t *pRegistry) |
gboolean | regSetNetworkConfig (const regNetworkConfig_t *theNetworkConfig, regRegistry_t *pRegistry) |
regNetworkProfile_t * | regGetNetworkProfile (const char *ID, const regRegistry_t *pRegistry) |
gboolean | regSetNetworkProfile (const char *ID, const regNetworkProfile_t *theNetworkProfile, regRegistry_t *pRegistry) |
gboolean | regRemoveTimeSet (regRegistry_t *pRegistry) |
gboolean | regRemoveNetworkProfile (const char *ID, regRegistry_t *pRegistry) |
gboolean | regRemoveNetworkConfig (regRegistry_t *pRegistry) |
void | regGetNetworkProfiles (regNetworkConfig_t **pNetworkConfig, regNetworkProfile_t ***pNetworks, const regRegistry_t *pRegistry) |
gboolean | regSetNetworkProfiles (const regNetworkConfig_t *pNetworkConfig, const regNetworkProfile_t **pNetworks, regRegistry_t *pRegistry) |
regLastConnect_t * | regGetLastConnect (const regRegistry_t *pRegistry) |
gboolean | regSetLastConnect (const regLastConnect_t *theLastConnect, regRegistry_t *pRegistry) |
gboolean | regGetAutoConnectWlan (const regRegistry_t *pRegistry) |
gboolean | regSetAutoConnectWlan (const gboolean enable, regRegistry_t *pRegistry) |
regIconSet_t * | regGetIconSet (const regRegistry_t *pRegistry) |
deviceDetails_t * | regGetDeviceDetails (const regRegistry_t *pRegistry) |
gboolean | regSetDeviceDetails (const deviceDetails_t *theDeviceDetails, regRegistry_t *pRegistry) |
Copyright (C) 2007 iRex Technologies B.V. All rights reserved.
Definition in file erregxml.h.
#define ADHOC "ADHOC" |
Definition at line 209 of file erregxml.h.
#define ATTR_ID "id" |
Definition at line 183 of file erregxml.h.
#define ATTR_NAME "name" |
Definition at line 182 of file erregxml.h.
#define ATTR_PROFILE_ID "profileID" |
Definition at line 180 of file erregxml.h.
#define ATTR_TYPE "type" |
Definition at line 181 of file erregxml.h.
#define BOOKS_FOLDER "BOOKS_FOLDER" |
Definition at line 196 of file erregxml.h.
#define BUF_LEN 1024 |
Definition at line 222 of file erregxml.h.
#define DEVICE_MANAGER "DEVICE_MANAGER" |
Definition at line 194 of file erregxml.h.
#define DIALUP "DIALUP" |
Definition at line 202 of file erregxml.h.
#define DOCS_FOLDER "DOCS_FOLDER" |
Definition at line 197 of file erregxml.h.
#define EL_APP_CATEGORY "appCategory" |
Definition at line 128 of file erregxml.h.
#define EL_APP_ICON_PATH "appIconPath" |
Definition at line 131 of file erregxml.h.
#define EL_APPLICATION "application" |
Definition at line 67 of file erregxml.h.
#define EL_APPLICATIONS "applications" |
Definition at line 66 of file erregxml.h.
#define EL_ARG_MASK "argMask" |
Definition at line 69 of file erregxml.h.
#define EL_ASSOCIATE_APP "associateApp" |
Definition at line 134 of file erregxml.h.
#define EL_ASSOCIATE_ORDER "associateOrder" |
Definition at line 135 of file erregxml.h.
#define EL_AUTO_CONNECT "autoConnect" |
Definition at line 50 of file erregxml.h.
#define EL_AUTO_CONNECT_WLAN "autoConnectWlan" |
Definition at line 171 of file erregxml.h.
#define EL_BACKGOUND "background" |
Definition at line 51 of file erregxml.h.
#define EL_BEHAVIOUR "behaviour" |
Definition at line 138 of file erregxml.h.
#define EL_BUILD_NAME "buildName" |
Definition at line 216 of file erregxml.h.
#define EL_BUILD_NUM "buildNum" |
Definition at line 217 of file erregxml.h.
#define EL_CATEGORIES "categories" |
Definition at line 59 of file erregxml.h.
#define EL_CATEGORY "category" |
Definition at line 60 of file erregxml.h.
#define EL_CONFIG_ROOT "iLiadConfig" |
Definition at line 212 of file erregxml.h.
#define EL_DEVICE_DETAILS "deviceDetails" |
Definition at line 214 of file erregxml.h.
#define EL_DIALUP_DETAILS "dialupDetails" |
Definition at line 79 of file erregxml.h.
#define EL_DIALUP_PASSWORD "dialupPassword" |
Definition at line 153 of file erregxml.h.
#define EL_DIALUP_PHONE "dialupPhone" |
Definition at line 151 of file erregxml.h.
#define EL_DIALUP_USER "dialupUser" |
Definition at line 152 of file erregxml.h.
#define EL_DOCUMENT_PATH "documentPath" |
Definition at line 123 of file erregxml.h.
#define EL_EMAIL "email" |
Definition at line 91 of file erregxml.h.
#define EL_ENABLE "enable" |
Definition at line 98 of file erregxml.h.
#define EL_ENABLE_SWITCHOFF "switchOff" |
Definition at line 57 of file erregxml.h.
#define EL_ENABLE_SWUPDATE "swUpdate" |
Definition at line 56 of file erregxml.h.
#define EL_ENABLE_TIMEDIDS "enable" |
Definition at line 53 of file erregxml.h.
#define EL_EXECUTE "execute" |
Definition at line 132 of file erregxml.h.
#define EL_EXPORT_MEMORYTYPE "usbExport" |
Definition at line 121 of file erregxml.h.
#define EL_EXT_ICON "extIcon" |
Definition at line 136 of file erregxml.h.
#define EL_EXT_NAME "extName" |
Definition at line 125 of file erregxml.h.
#define EL_EXTENSION_INFO "extensionInfo" |
Definition at line 72 of file erregxml.h.
#define EL_EXTENSION_INFOS "extensionInfos" |
Definition at line 71 of file erregxml.h.
#define EL_FLIPBAR_DIRECTION "flipbarDirection" |
Definition at line 104 of file erregxml.h.
#define EL_ICON_BASE_PATH "iconBasePath" |
Definition at line 176 of file erregxml.h.
#define EL_ICON_BASE_PATH "iconBasePath" |
Definition at line 176 of file erregxml.h.
#define EL_ICON_FILE_NAME "iconFileName" |
Definition at line 177 of file erregxml.h.
#define EL_ICON_FILE_NAME "iconFileName" |
Definition at line 177 of file erregxml.h.
#define EL_INTERVAL "interval" |
Definition at line 115 of file erregxml.h.
#define EL_IP_ADDRESS "ipAddress" |
Definition at line 156 of file erregxml.h.
#define EL_IP_DNS "ipNameServer" |
Definition at line 158 of file erregxml.h.
#define EL_IP_GATEWAY "ipGateway" |
Definition at line 159 of file erregxml.h.
#define EL_IP_NETMASK "ipNetmask" |
Definition at line 157 of file erregxml.h.
#define EL_IP_STATIC_DETAILS "ipStaticDetails" |
Definition at line 80 of file erregxml.h.
#define EL_IPC_CHANNEL "ipcChannel" |
Definition at line 130 of file erregxml.h.
#define EL_KEY_BUFFERING "keyBuffering" |
Definition at line 101 of file erregxml.h.
#define EL_LANGUAGE "language" |
Definition at line 95 of file erregxml.h.
#define EL_LAST_CONNECT "lastConnect" |
Definition at line 82 of file erregxml.h.
#define EL_LASTREAD "lastRead" |
Definition at line 64 of file erregxml.h.
#define EL_LASTREADS "lastReads" |
Definition at line 63 of file erregxml.h.
#define EL_LOCATION "location" |
Definition at line 117 of file erregxml.h.
#define EL_LONG_KP_TIMEOUT "longKeyPressTimeout" |
Definition at line 105 of file erregxml.h.
#define EL_MAC_OF_WIRED "macOfWired" |
Definition at line 218 of file erregxml.h.
#define EL_MAC_OF_WIRELESS "macOfWireless" |
Definition at line 219 of file erregxml.h.
#define EL_MANIFEST_PATH "manifestPath" |
Definition at line 124 of file erregxml.h.
#define EL_MANUAL_CONNECT_TYPE "manualConnectType" |
Definition at line 169 of file erregxml.h.
#define EL_NAME "name" |
Definition at line 90 of file erregxml.h.
#define EL_NETWORK_PROFILE "networkProfile" |
Definition at line 77 of file erregxml.h.
#define EL_NETWORK_PROFILES "networkProfileList" |
Definition at line 76 of file erregxml.h.
#define EL_NETWORK_TYPE "networkType" |
Definition at line 140 of file erregxml.h.
#define EL_NUMBER_OF_KEYS "numberOfKeys" |
Definition at line 102 of file erregxml.h.
#define EL_PASSWORD "password" |
Definition at line 92 of file erregxml.h.
#define EL_PC_NAME "pcName" |
Definition at line 109 of file erregxml.h.
#define EL_PC_PROFILE "pcProfile" |
Definition at line 48 of file erregxml.h.
#define EL_PC_PROFILES "pcProfileList" |
Definition at line 47 of file erregxml.h.
#define EL_POSITION "position" |
Definition at line 126 of file erregxml.h.
#define EL_PROFILE_CONNECTED_IDS "profileConnectedIDS" |
Definition at line 167 of file erregxml.h.
#define EL_PROFILE_CONNECTED_PC "profileConnectedPC" |
Definition at line 168 of file erregxml.h.
#define EL_PROFILE_NAME "profileName" |
Definition at line 107 of file erregxml.h.
#define EL_PROXY_DETAILS "proxyDetails" |
Definition at line 81 of file erregxml.h.
#define EL_PROXY_PORT "port" |
Definition at line 163 of file erregxml.h.
#define EL_PROXY_SERVER "server" |
Definition at line 162 of file erregxml.h.
#define EL_PUBLIC_KEY "publicKey" |
Definition at line 220 of file erregxml.h.
#define EL_REDIRECT_URL "redirectUrl" |
Definition at line 93 of file erregxml.h.
#define EL_REGISTRY "registry" |
Definition at line 88 of file erregxml.h.
#define EL_REGISTRY_ROOT "iLiadRegistry" |
Definition at line 41 of file erregxml.h.
#define EL_SERVER_TYPE "serverType" |
Definition at line 114 of file erregxml.h.
#define EL_SHARE_NAME "shareName" |
Definition at line 110 of file erregxml.h.
#define EL_SOFTWARE "software" |
Definition at line 215 of file erregxml.h.
#define EL_SORT "sort" |
Definition at line 61 of file erregxml.h.
#define EL_SORT_ASCENDING "ascending" |
Definition at line 118 of file erregxml.h.
#define EL_SORT_FIELD_TYPE "field" |
Definition at line 119 of file erregxml.h.
#define EL_SOUND "sound" |
Definition at line 97 of file erregxml.h.
#define EL_START_UP "startup" |
Definition at line 74 of file erregxml.h.
#define EL_SUPPORT_FORMAT "supportFormat" |
Definition at line 68 of file erregxml.h.
#define EL_TIME "time" |
Definition at line 55 of file erregxml.h.
#define EL_TIMED_IDS "timedIds" |
Definition at line 52 of file erregxml.h.
#define EL_TIMESET "timeSet" |
Definition at line 54 of file erregxml.h.
#define EL_TIMESTAMP "timestamp" |
Definition at line 165 of file erregxml.h.
#define EL_TOOLBAR_ICON "toolbarIcon" |
Definition at line 85 of file erregxml.h.
#define EL_TOOLBAR_ICONS "toolbarIcons" |
Definition at line 84 of file erregxml.h.
#define EL_USE_DHCP "useDhcp" |
Definition at line 155 of file erregxml.h.
#define EL_USE_PROXY "useProxy" |
Definition at line 161 of file erregxml.h.
#define EL_USER_NAME "userName" |
Definition at line 111 of file erregxml.h.
#define EL_USER_PROFILE "userProfile" |
Definition at line 44 of file erregxml.h.
#define EL_USER_SETTING "userSetting" |
Definition at line 45 of file erregxml.h.
#define EL_VERSION "version" |
Definition at line 43 of file erregxml.h.
#define EL_VOLUME "volume" |
Definition at line 99 of file erregxml.h.
#define EL_WLAN_BROADCAST "wlanBroadcast" |
Definition at line 147 of file erregxml.h.
#define EL_WLAN_CHANNEL "wlanChannel" |
Definition at line 146 of file erregxml.h.
#define EL_WLAN_DETAILS "wlanDetails" |
Definition at line 78 of file erregxml.h.
#define EL_WLAN_ENCRYPTION_KEY "wlanEncryptionKey" |
Definition at line 144 of file erregxml.h.
#define EL_WLAN_ENCRYPTION_TYPE "wlanEncryptionType" |
Definition at line 143 of file erregxml.h.
#define EL_WLAN_MODE "wlanMode" |
Definition at line 145 of file erregxml.h.
#define EL_WLAN_SSID "wlanSsid" |
Definition at line 142 of file erregxml.h.
#define EL_WORKGROUP "workgroup" |
Definition at line 112 of file erregxml.h.
#define EL_X_RES_NAME "xResourceName" |
Definition at line 129 of file erregxml.h.
#define ENCR_NONE "ENCR_NONE" |
Definition at line 204 of file erregxml.h.
#define ENCR_WEP "ENCR_WEP" |
Definition at line 205 of file erregxml.h.
#define ENCR_WPA "ENCR_WPA" |
Definition at line 206 of file erregxml.h.
#define IDS "IDS" |
Definition at line 186 of file erregxml.h.
#define INFRASTRUCTURE "INFRASTRUCTURE" |
Definition at line 208 of file erregxml.h.
#define LAST_READ_DOCUMENT "LAST_READ_DOCUMENT" |
Definition at line 192 of file erregxml.h.
#define NEWS_FOLDER "NEWS_FOLDER" |
Definition at line 195 of file erregxml.h.
#define NOTES_FOLDER "NOTES_FOLDER" |
Definition at line 198 of file erregxml.h.
#define PC "PC" |
Definition at line 187 of file erregxml.h.
#define RECENT_DOCUMENTS "RECENT_DOCUMENTS" |
Definition at line 193 of file erregxml.h.
#define REFERENCE_MATERIALS "REFERENCE_MATERIALS" |
Definition at line 191 of file erregxml.h.
#define SPECIFIC_DOCUMENT "SPECIFIC_DOCUMENT" |
Definition at line 190 of file erregxml.h.
#define WIRED "WIRED" |
Definition at line 200 of file erregxml.h.
#define WIRELESS "WIRELESS" |
Definition at line 201 of file erregxml.h.
void regDestroy | ( | regRegistry_t * | pRegistry | ) |
Definition at line 239 of file erregxml.c.
00240 { 00241 ERREG_LOGPRINTF("entry"); 00242 g_assert(pRegistry); 00243 00244 ermXmlClose(&(pRegistry->xmlCxt)); 00245 xsdUnload(&(pRegistry->xsdCxt)); 00246 g_free(pRegistry); 00247 }
regAutoConnect_t* regGetAutoConnect | ( | const regRegistry_t * | pRegistry | ) |
Definition at line 1126 of file erregxml.c.
01127 { 01128 regAutoConnect_t *theAutoConnect = NULL; 01129 01130 ERREG_LOGPRINTF("entry %p", pRegistry); 01131 g_assert(pRegistry); 01132 g_assert(pRegistry->xpaths); 01133 g_assert(pRegistry->xpaths->autoConnect); 01134 01135 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 01136 int nLen, nRet; 01137 01138 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01139 01140 theAutoConnect = g_new0(regAutoConnect_t, 1); 01141 g_assert(theAutoConnect != NULL); 01142 01143 // connect to which server 01144 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->autoConnect, EL_SERVER_TYPE); 01145 nRet = ermXmlGetString(pXmlCxt, xpath, szTmp, BUF_LEN); 01146 if (RET_ERR == nRet) 01147 { 01148 ERREG_ERRORPRINTF("Can't get which server to connect from memory."); 01149 regFreeAutoConnect(theAutoConnect); 01150 theAutoConnect = NULL; 01151 return NULL; 01152 } 01153 theAutoConnect->backgroundConnectTo = regServerTypeToEnum(szTmp); 01154 01155 // background enable? 01156 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->autoConnect, EL_BACKGOUND, EL_ENABLE); 01157 nRet = ermXmlGetBoolean(pXmlCxt, xpath, &theAutoConnect->backgroundEnable); 01158 if (RET_ERR == nRet) 01159 { 01160 ERREG_ERRORPRINTF("Can't get background enable flag from memory."); 01161 regFreeAutoConnect(theAutoConnect); 01162 theAutoConnect = NULL; 01163 return NULL; 01164 } 01165 01166 // background interval 01167 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->autoConnect, EL_BACKGOUND, EL_INTERVAL); 01168 nRet = ermXmlGetInt(pXmlCxt, xpath, &theAutoConnect->backgroundInterval); 01169 if (RET_ERR == nRet) 01170 { 01171 ERREG_ERRORPRINTF("Can't get background interval from memory."); 01172 regFreeAutoConnect(theAutoConnect); 01173 theAutoConnect = NULL; 01174 return NULL; 01175 } 01176 01177 regDumpAutoConnect(theAutoConnect); 01178 return theAutoConnect; 01179 }
gboolean regGetAutoConnectWlan | ( | const regRegistry_t * | pRegistry | ) |
Definition at line 3368 of file erregxml.c.
03369 { 03370 ERREG_LOGPRINTF("entry"); 03371 g_assert(pRegistry); 03372 g_assert(pRegistry->xpaths); 03373 g_assert(pRegistry->xpaths->autoConnectWlan); 03374 03375 gboolean enable = TRUE; 03376 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 03377 char* xpath = pRegistry->xpaths->autoConnectWlan; 03378 int nRet = ermXmlGetBoolean(pXmlCxt, xpath, &enable); 03379 03380 if (RET_ERR == nRet) 03381 { 03382 ERREG_ERRORPRINTF("Can't get the settings %s", xpath); 03383 } 03384 03385 regDumpAutoConnectWlan(enable); 03386 return enable; 03387 }
regContentCategory_t* regGetContentCategory | ( | const char * | ID, | |
const regRegistry_t * | pRegistry | |||
) |
Definition at line 1438 of file erregxml.c.
01439 { 01440 regContentCategory_t *theContentCategory = NULL; 01441 01442 ERREG_LOGPRINTF("entry: ID [%s] pRegistry [%p]", ID, pRegistry); 01443 g_assert(ID); 01444 g_assert(pRegistry); 01445 g_assert(pRegistry->xpaths); 01446 g_assert(pRegistry->xpaths->category); 01447 01448 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1], xpathExt[BUF_LEN + 1]; 01449 int nLen, nRet; 01450 01451 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01452 01453 theContentCategory = g_new0(regContentCategory_t, 1); 01454 g_assert(theContentCategory != NULL); 01455 01456 nLen = g_snprintf(xpath, BUF_LEN, "%s[@%s=\"%s\"]", pRegistry->xpaths->category, ATTR_TYPE, ID); 01457 01458 // location 01459 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_LOCATION); 01460 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 01461 if (RET_ERR == nRet) 01462 { 01463 ERREG_ERRORPRINTF("Can't get category from memory, xpath [%s]", xpath); 01464 regFreeContentCategory(theContentCategory); 01465 theContentCategory = NULL; 01466 return NULL; 01467 } 01468 theContentCategory->location = g_strdup(szTmp); 01469 01470 // sort 01471 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s/%s", xpath, EL_SORT, EL_SORT_ASCENDING); 01472 nRet = ermXmlGetBoolean(pXmlCxt, xpathExt, &theContentCategory->sortAscending); 01473 if (RET_ERR == nRet) 01474 { 01475 ERREG_ERRORPRINTF("Can't get sort from memory, xpath [%s]", xpath); 01476 regFreeContentCategory(theContentCategory); 01477 theContentCategory = NULL; 01478 return NULL; 01479 } 01480 01481 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s/%s", xpath, EL_SORT, EL_SORT_FIELD_TYPE); 01482 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 01483 if (RET_ERR == nRet) 01484 { 01485 ERREG_ERRORPRINTF("Can't get sort field from memory, xpath [%s]", xpath); 01486 regFreeContentCategory(theContentCategory); 01487 theContentCategory = NULL; 01488 return NULL; 01489 } 01490 theContentCategory->sortFieldType = g_strdup(szTmp); 01491 01492 regDumpContentCategory(ID, theContentCategory); 01493 ERREG_LOGPRINTF("leave: theContentCategory [%p]", theContentCategory); 01494 return theContentCategory; 01495 }
deviceDetails_t* regGetDeviceDetails | ( | const regRegistry_t * | pRegistry | ) |
Definition at line 3505 of file erregxml.c.
03506 { 03507 deviceDetails_t *theDeviceDetails = NULL; 03508 03509 ERREG_LOGPRINTF("entry %p", pRegistry); 03510 g_assert(pRegistry); 03511 g_assert(pRegistry->xpaths); 03512 03513 char* cp = NULL; 03514 03515 // memory malloc 03516 theDeviceDetails = g_new0(deviceDetails_t, 1); 03517 g_assert(theDeviceDetails != NULL); 03518 03519 theDeviceDetails->software = g_new0(software_t, 1); 03520 g_assert(theDeviceDetails->software); 03521 03522 // build name 03523 theDeviceDetails->software->szBuildName = g_strdup(get_software_version_commercial()); 03524 03525 // build number 03526 theDeviceDetails->software->szBuildNum = g_strdup(get_software_version()); 03527 03528 // mac address of wireless 03529 // theDeviceDetails->szMacOfWireless = g_strdup(get_wireless_macAddress()); 03530 theDeviceDetails->szMacOfWireless = g_strdup(get_wlanmactxt_macAddress()); 03531 03532 // mac address of wired 03533 // theDeviceDetails->szMacOfWired = g_strdup(get_wired_macAddress()); 03534 theDeviceDetails->szMacOfWired = g_strdup(get_sysset_macAddress()); 03535 03536 // public key 03537 if (get_public_key(&cp) <= 0) 03538 { 03539 theDeviceDetails->szPublicKey = g_strdup(""); 03540 } 03541 else 03542 { 03543 theDeviceDetails->szPublicKey = cp; 03544 } 03545 03546 regDumpDeviceDetails(theDeviceDetails); 03547 return theDeviceDetails; 03548 }
regExportMemType_t* regGetExportMemType | ( | const regRegistry_t * | pRegistry | ) |
Definition at line 1558 of file erregxml.c.
01559 { 01560 regExportMemType_t *theExportMemType = NULL; 01561 01562 ERREG_LOGPRINTF("entry %p", pRegistry); 01563 g_assert(pRegistry); 01564 g_assert(pRegistry->xpaths); 01565 g_assert(pRegistry->xpaths->usbExport); 01566 01567 char szTmp[BUF_LEN + 1]; 01568 int nRet; 01569 01570 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01571 01572 theExportMemType = g_new0(regExportMemType_t, 1); 01573 g_assert(theExportMemType != NULL); 01574 01575 // Get the memory type which will be exported to user via USB connection 01576 nRet = ermXmlGetString(pXmlCxt, pRegistry->xpaths->usbExport, szTmp, BUF_LEN); 01577 if (nRet == RET_ERR) 01578 { 01579 regFreeExportMemType(theExportMemType); 01580 return NULL; 01581 } 01582 01583 theExportMemType->location = g_strdup(szTmp); 01584 return theExportMemType; 01585 }
regExtInfoList_t* regGetExtInfoList | ( | const char * | extension, | |
const regRegistry_t * | pRegistry | |||
) |
This function will return an array of regExtInfo_t nodes.
extension | The extension name. If NULL it will return all extention info, otherwise only return the nodes with the same extension name. | |
pRegistry | The registry handle. |
Definition at line 2039 of file erregxml.c.
02040 { 02041 regExtInfoList_t *theExtInfoList = NULL; 02042 xmlXPathObjectPtr xpathObj = NULL; 02043 xmlNodePtr* p_node = NULL; 02044 xmlNodeSetPtr extensionNodes = NULL; // list of extensionInfo nodes 02045 02046 02047 ERREG_LOGPRINTF("entry %p", pRegistry); 02048 g_assert(pRegistry); 02049 g_assert(pRegistry->xpaths); 02050 g_assert(pRegistry->xpaths->extensionInfos); 02051 02052 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 02053 02054 // get extensionInfos node by the extension name. 02055 char xpath[BUF_LEN + 1] = {0}; 02056 if (extension) 02057 { 02058 g_snprintf(xpath, BUF_LEN, "%s/%s[%s=\"%s\"]", 02059 pRegistry->xpaths->extensionInfos, 02060 EL_EXTENSION_INFO, 02061 EL_EXT_NAME, 02062 extension); 02063 } 02064 else 02065 { 02066 g_snprintf(xpath, BUF_LEN, "%s/%s", 02067 pRegistry->xpaths->extensionInfos, 02068 EL_EXTENSION_INFO); 02069 } 02070 xpathObj = ermXmlSelectNodes(pXmlCxt, xpath); 02071 if (xpathObj == NULL) 02072 { 02073 ERREG_WARNPRINTF("%s not found", xpath); 02074 return NULL; 02075 } 02076 02077 // get extensionInfo nodes 02078 extensionNodes = xpathObj->nodesetval; 02079 02080 // number and nodes 02081 int num = extensionNodes->nodeNr; 02082 p_node = extensionNodes->nodeTab; 02083 02084 // allocate the list 02085 theExtInfoList = g_new0(regExtInfoList_t, 1); 02086 g_assert(theExtInfoList != NULL); 02087 theExtInfoList->extArray = g_new0(regExtInfo_t, num); 02088 theExtInfoList->extArraySize = num; 02089 02090 // Walk all nodes and get the extensionInfo from it 02091 int i = 0; 02092 for (; i < num ; ++i, ++p_node) 02093 { 02094 xmlChar * content = 0; 02095 02096 // it's better to use libxml API instead of xpath here. 02097 // extIcon 02098 xmlNodePtr iconPtr = ermXmlGetChildNode(*p_node, EL_EXT_ICON); 02099 content = xmlNodeGetContent(iconPtr); 02100 theExtInfoList->extArray[i].iconLocation = g_strdup(content); 02101 xmlFree(content); 02102 02103 // extension name 02104 xmlNodePtr extPtr = ermXmlGetChildNode(*p_node, EL_EXT_NAME); 02105 content = xmlNodeGetContent(extPtr); 02106 theExtInfoList->extArray[i].extName = g_strdup(content); 02107 xmlFree(content); 02108 02109 // associate application 02110 xmlNodePtr appPtr = ermXmlGetChildNode(*p_node, EL_ASSOCIATE_APP); 02111 content = xmlNodeGetContent(appPtr); 02112 theExtInfoList->extArray[i].associateApp = g_strdup(content); 02113 xmlFree(content); 02114 02115 // associate order 02116 xmlNodePtr appOrderPtr = ermXmlGetChildNode(*p_node, EL_ASSOCIATE_ORDER); 02117 content = xmlNodeGetContent(appOrderPtr); 02118 int order = 1; 02119 if (content) 02120 { 02121 sscanf(content, "%d", &order); 02122 } 02123 theExtInfoList->extArray[i].associateOrder = order; 02124 } 02125 regDumpExtInfoList(theExtInfoList); 02126 02127 xmlXPathFreeObject(xpathObj); 02128 xpathObj = NULL; 02129 02130 return theExtInfoList; 02131 }
regIconSet_t* regGetIconSet | ( | const regRegistry_t * | pRegistry | ) |
Definition at line 3419 of file erregxml.c.
03420 { 03421 regIconSet_t *theRegIconSet = NULL; 03422 03423 ERREG_LOGPRINTF("entry %p", pRegistry); 03424 g_assert(pRegistry); 03425 g_assert(pRegistry->xpaths); 03426 g_assert(pRegistry->xpaths->toolbarIcons); 03427 g_assert(pRegistry->xpaths->toolbarIcon); 03428 03429 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1], szBase[BUF_LEN + 1]; 03430 int nLen, nIcons, nFiles, i, j, nRet; 03431 03432 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 03433 03434 // get the number of Nodes('toolbarIcon') 03435 nLen = g_snprintf(xpath, BUF_LEN, "%s", pRegistry->xpaths->toolbarIcon); 03436 nRet = ermXmlGetNodeNr(pXmlCxt, xpath, &nIcons); 03437 if (RET_ERR == nRet || 0 == nIcons) 03438 { 03439 ERREG_ERRORPRINTF("%s not present", xpath); 03440 return NULL; 03441 } 03442 03443 // get the string of node('iconBasePath') 03444 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->toolbarIcons, EL_ICON_BASE_PATH); 03445 nRet = ermXmlGetString(pXmlCxt, xpath, szBase, BUF_LEN); 03446 if (RET_ERR == nRet) 03447 { 03448 ERREG_ERRORPRINTF("%s not present", xpath); 03449 return NULL; 03450 } 03451 03452 // memory malloc according to the 'nIcons' 03453 theRegIconSet = g_new0(regIconSet_t, 1); 03454 theRegIconSet->iconArray = g_new0(regIcon_t, nIcons); 03455 theRegIconSet->nIcons = nIcons; 03456 03457 // walk through and get 'toolbarIcon[i]' 03458 for (i = 1; i <= nIcons; i++) 03459 { 03460 // get the name of node('toolbarIcon[i]') 03461 nLen = g_snprintf(xpath, BUF_LEN, "%s[%d]", pRegistry->xpaths->toolbarIcon, i); 03462 nRet = ermXmlGetAttributeString(pXmlCxt, xpath, ATTR_NAME, szTmp, BUF_LEN); 03463 if (RET_OK == nRet) 03464 { 03465 theRegIconSet->iconArray[i - 1].iconName = g_strdup(szTmp); 03466 03467 // get the number of node('iconFileName') in node('toolbarIcon[i]') 03468 nLen = g_snprintf(xpath, BUF_LEN, "%s[%d]/%s", pRegistry->xpaths->toolbarIcon, i, EL_ICON_FILE_NAME); 03469 nRet = ermXmlGetNodeNr(pXmlCxt, xpath, &nFiles); 03470 03471 if ((RET_OK == nRet) && (nFiles != 0)) 03472 { 03473 // memory malloc according to the 'nFiles' 03474 theRegIconSet->iconArray[i - 1].iconPathsSize = nFiles; 03475 theRegIconSet->iconArray[i - 1].iconPaths = g_new0(char *, (nFiles + 1)); 03476 theRegIconSet->iconArray[i - 1].iconPaths[nFiles] = NULL; 03477 03478 // walk through and get 'toolbarIcon[i]/iconFileName[@id=j]' 03479 for (j = 1; j <= nFiles; j++) 03480 { 03481 nLen = g_snprintf(xpath, BUF_LEN, "%s[%d]/%s[@id=\"%d\"]", 03482 pRegistry->xpaths->toolbarIcon, 03483 i, 03484 EL_ICON_FILE_NAME, 03485 j ); 03486 nRet = ermXmlGetString(pXmlCxt, xpath, szTmp, BUF_LEN); 03487 if (RET_OK == nRet) 03488 { 03489 theRegIconSet->iconArray[i - 1].iconPaths[j - 1] = g_strdup_printf("%s%s", szBase, szTmp); 03490 } 03491 } // for (j...); 03492 } // if ((RET_OK == nRet) && (nFiles != 0)) 03493 } // if (RET_OK == nRet) 03494 } // for (i...) 03495 03496 regDumpIconSet(theRegIconSet); 03497 return theRegIconSet; 03498 }
regLastConnect_t* regGetLastConnect | ( | const regRegistry_t * | pRegistry | ) |
Definition at line 3259 of file erregxml.c.
03260 { 03261 regLastConnect_t *theLastConnect = NULL; 03262 03263 ERREG_LOGPRINTF("entry"); 03264 g_assert(pRegistry); 03265 g_assert(pRegistry->xpaths); 03266 g_assert(pRegistry->xpaths->lastConnect); 03267 03268 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 03269 int nLen, nRet; 03270 03271 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 03272 03273 theLastConnect = g_new0(regLastConnect_t, 1); 03274 g_assert(theLastConnect != NULL); 03275 03276 // profileConnectedIDS 03277 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->lastConnect, EL_PROFILE_CONNECTED_IDS); 03278 nRet = ermXmlGetInt(pXmlCxt, xpath, &theLastConnect->profileConnectedIDS); 03279 if (RET_ERR == nRet) 03280 { 03281 regFreeLastConnect(theLastConnect); 03282 theLastConnect = NULL; 03283 return NULL; 03284 } 03285 03286 // profileConnectedPC 03287 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->lastConnect, EL_PROFILE_CONNECTED_PC); 03288 nRet = ermXmlGetInt(pXmlCxt, xpath, &theLastConnect->profileConnectedPC); 03289 if (RET_ERR == nRet) 03290 { 03291 regFreeLastConnect(theLastConnect); 03292 theLastConnect = NULL; 03293 return NULL; 03294 } 03295 03296 // connect to which server 03297 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->lastConnect, EL_MANUAL_CONNECT_TYPE); 03298 nRet = ermXmlGetString(pXmlCxt, xpath, szTmp, BUF_LEN); 03299 if (RET_ERR == nRet) 03300 { 03301 ERREG_ERRORPRINTF("Can't get which server to connect from memory."); 03302 regFreeLastConnect(theLastConnect); 03303 theLastConnect = NULL; 03304 return NULL; 03305 } 03306 theLastConnect->manualConnectType = regServerTypeToEnum(szTmp); 03307 03308 regDumpLastConnect(theLastConnect); 03309 return theLastConnect; 03310 }
regLastRead_t* regGetLastRead | ( | const char * | ID, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 1614 of file erregxml.c.
01615 { 01616 regLastRead_t *theLastRead = NULL; 01617 01618 ERREG_LOGPRINTF("entry %s %p", ID, pRegistry); 01619 g_assert(ID); 01620 g_assert(pRegistry); 01621 g_assert(pRegistry->xpaths); 01622 g_assert(pRegistry->xpaths->lastRead); 01623 01624 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1], xpathExt[BUF_LEN + 1]; 01625 int nLen, nRet; 01626 01627 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01628 01629 theLastRead = g_new0(regLastRead_t, 1); 01630 g_assert(theLastRead != NULL); 01631 01632 nLen = g_snprintf(xpath, BUF_LEN, "%s[@%s=\"%s\"]", pRegistry->xpaths->lastRead, ATTR_TYPE, ID); 01633 01634 // extension 01635 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_EXT_NAME); 01636 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 01637 if (RET_ERR == nRet) 01638 { 01639 ERREG_ERRORPRINTF("Can't get extension from memory."); 01640 regFreeLastRead(theLastRead); 01641 theLastRead = NULL; 01642 return NULL; 01643 } 01644 theLastRead->extension = g_strdup(szTmp); 01645 01646 // documentPath 01647 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_DOCUMENT_PATH); 01648 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 01649 if (RET_ERR == nRet) 01650 { 01651 ERREG_ERRORPRINTF("Can't get documentPath from memory."); 01652 regFreeLastRead(theLastRead); 01653 theLastRead = NULL; 01654 return NULL; 01655 } 01656 theLastRead->documentPath = g_strdup(szTmp); 01657 01658 // manifestPath 01659 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_MANIFEST_PATH); 01660 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 01661 if (RET_ERR == nRet) 01662 { 01663 ERREG_ERRORPRINTF("Can't get manifestPath from memory."); 01664 regFreeLastRead(theLastRead); 01665 theLastRead = NULL; 01666 return NULL; 01667 } 01668 theLastRead->manifestPath = g_strdup(szTmp); 01669 01670 // position 01671 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_POSITION); 01672 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 01673 if (RET_ERR == nRet) 01674 { 01675 ERREG_ERRORPRINTF("Can't get position from memory."); 01676 regFreeLastRead(theLastRead); 01677 theLastRead = NULL; 01678 return NULL; 01679 } 01680 theLastRead->position = g_strdup(szTmp); 01681 01682 regDumpLastRead(ID, theLastRead); 01683 return theLastRead; 01684 }
regNetworkConfig_t* regGetNetworkConfig | ( | const regRegistry_t * | pRegistry | ) |
Definition at line 2492 of file erregxml.c.
02493 { 02494 regNetworkConfig_t *theNetworkConfig = NULL; 02495 02496 ERREG_LOGPRINTF("entry %p", pRegistry); 02497 g_assert(pRegistry); 02498 g_assert(pRegistry->xpaths); 02499 g_assert(pRegistry->xpaths->networkProfile); 02500 02501 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 02502 int nLen, i, nProfiles, nRet; 02503 02504 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 02505 02506 // get the number of nodes('application') 02507 nLen = g_snprintf(xpath, BUF_LEN, "%s", pRegistry->xpaths->networkProfile); 02508 nRet = ermXmlGetNodeNr(pXmlCxt, xpath, &nProfiles); 02509 if (RET_ERR == nRet || 0 == nProfiles) 02510 { 02511 ERREG_ERRORPRINTF("%s not present", xpath); 02512 return NULL; 02513 } 02514 02515 // memory malloc 02516 theNetworkConfig = g_new0(regNetworkConfig_t, 1); 02517 g_assert(theNetworkConfig != NULL); 02518 02519 theNetworkConfig->size = nProfiles; 02520 theNetworkConfig->networkList = g_new0(char *, nProfiles + 1); 02521 theNetworkConfig->networkList[nProfiles] = NULL; 02522 02523 // get the value of attribute(networkProfile[i]/@profileID) 02524 for (i = 1; i <= nProfiles; i++) 02525 { 02526 nLen = g_snprintf(xpath, BUF_LEN, "%s[%d]", pRegistry->xpaths->networkProfile, i); 02527 nRet = ermXmlGetAttributeString(pXmlCxt, xpath, ATTR_PROFILE_ID, szTmp, BUF_LEN); 02528 if (RET_OK == nRet) 02529 { 02530 theNetworkConfig->networkList[i - 1] = g_strdup(szTmp); 02531 } 02532 } 02533 02534 // sort on profileID 02535 qsort( theNetworkConfig->networkList, 02536 theNetworkConfig->size, 02537 sizeof(theNetworkConfig->networkList[0]), 02538 compare_profileID ); 02539 02540 regDumpNetworkConfig(theNetworkConfig); 02541 return theNetworkConfig; 02542 }
regNetworkProfile_t* regGetNetworkProfile | ( | const char * | ID, | |
const regRegistry_t * | pRegistry | |||
) |
Definition at line 2580 of file erregxml.c.
02581 { 02582 regNetworkProfile_t *theNetworkProfile = NULL; 02583 02584 ERREG_LOGPRINTF("entry: ID [%s] pXmlCxt [%p]", ID, pRegistry); 02585 g_assert(ID); 02586 g_assert(pRegistry); 02587 g_assert(pRegistry->xpaths); 02588 g_assert(pRegistry->xpaths->networkProfile); 02589 02590 char xpath[BUF_LEN + 1], xpathExt[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 02591 int nLen, nRet; 02592 gboolean bDhcp, bRet; 02593 02594 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 02595 02596 theNetworkProfile = g_new0(regNetworkProfile_t, 1); 02597 g_assert(theNetworkProfile != NULL); 02598 02599 nLen = g_snprintf(xpath, BUF_LEN, "%s[@%s=\"%s\"]", 02600 pRegistry->xpaths->networkProfile, ATTR_PROFILE_ID, ID); 02601 02602 // profile name 02603 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_PROFILE_NAME); 02604 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 02605 if (RET_ERR == nRet) 02606 { 02607 g_snprintf(szTmp, BUF_LEN, "%s", ID); 02608 } 02609 theNetworkProfile->name = g_strdup(szTmp); 02610 02611 // networkType 02612 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_NETWORK_TYPE); 02613 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 02614 if (RET_ERR == nRet) 02615 { 02616 ERREG_ERRORPRINTF("Can't get network type from memory."); 02617 regFreeNetworkProfile(theNetworkProfile); 02618 theNetworkProfile = NULL; 02619 return NULL; 02620 } 02621 theNetworkProfile->connection = regNetworkTypeToEnum(szTmp); 02622 02623 // useProxy 02624 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_USE_PROXY); 02625 nRet = ermXmlGetBoolean(pXmlCxt, xpathExt, &theNetworkProfile->proxy); 02626 if (RET_ERR == nRet) 02627 { 02628 ERREG_ERRORPRINTF("Can't get use proxy flag from memory."); 02629 regFreeNetworkProfile(theNetworkProfile); 02630 theNetworkProfile = NULL; 02631 return NULL; 02632 } 02633 02634 // userDhcp 02635 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_USE_DHCP); 02636 nRet = ermXmlGetBoolean(pXmlCxt, xpathExt, &bDhcp); 02637 if (RET_ERR == nRet) 02638 { 02639 ERREG_ERRORPRINTF("Can't get use dhcp flag from memory."); 02640 regFreeNetworkProfile(theNetworkProfile); 02641 theNetworkProfile = NULL; 02642 return NULL; 02643 } 02644 theNetworkProfile->addressMode = regIpAddressToEnum(bDhcp); 02645 02646 if (theNetworkProfile->connection == wireless_t) 02647 { 02648 // wireless settings 02649 theNetworkProfile->wirelessSettings = g_new0(regWirelessSetting_t, 1); 02650 bRet = getWirelessSettings(pRegistry, xpath, theNetworkProfile->wirelessSettings); 02651 if (FALSE == bRet) 02652 { 02653 regFreeWirelessSetting(theNetworkProfile->wirelessSettings); 02654 theNetworkProfile->wirelessSettings = NULL; 02655 theNetworkProfile->connection = wired_t; 02656 } 02657 } 02658 else if (theNetworkProfile->connection == dialup_t) 02659 { 02660 // wireless settings 02661 theNetworkProfile->dialupSettings = g_new0(regDialupSetting_t, 1); 02662 bRet = getDialupSettings(pRegistry, xpath, theNetworkProfile->dialupSettings); 02663 if (FALSE == bRet) 02664 { 02665 regFreeDialupSetting(theNetworkProfile->dialupSettings); 02666 theNetworkProfile->dialupSettings = NULL; 02667 theNetworkProfile->connection = wired_t; 02668 } 02669 } 02670 02671 // proxy settings 02672 if (theNetworkProfile->proxy == TRUE) 02673 { 02674 theNetworkProfile->proxySettings = g_new0(regProxySetting_t, 1); 02675 bRet = getProxySettings(pRegistry, xpath, theNetworkProfile->proxySettings); 02676 if (FALSE == bRet) 02677 { 02678 regFreeProxySetting(theNetworkProfile->proxySettings); 02679 theNetworkProfile->proxySettings = NULL; 02680 theNetworkProfile->proxy = FALSE; 02681 } 02682 } 02683 02684 // IP settings 02685 if (theNetworkProfile->addressMode == static_t) 02686 { 02687 theNetworkProfile->ipSettings = g_new0(regIpSetting_t, 1); 02688 bRet = getIpSettings(pRegistry, xpath, theNetworkProfile->ipSettings); 02689 if (FALSE == bRet) 02690 { 02691 regFreeIpSetting(theNetworkProfile->ipSettings); 02692 theNetworkProfile->ipSettings = NULL; 02693 theNetworkProfile->addressMode = dhcp_t; 02694 } 02695 } 02696 02697 // timestamp 02698 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_TIMESTAMP); 02699 nRet = ermXmlGetInt(pXmlCxt, xpathExt, &theNetworkProfile->timestamp); 02700 if (RET_ERR == nRet) 02701 { 02702 ERREG_LOGPRINTF("no timestamp found"); 02703 theNetworkProfile->timestamp = 0; 02704 } 02705 02706 regDumpNetworkProfile(ID, theNetworkProfile); 02707 return theNetworkProfile; 02708 }
void regGetNetworkProfiles | ( | regNetworkConfig_t ** | pNetworkConfig, | |
regNetworkProfile_t *** | pNetworks, | |||
const regRegistry_t * | pRegistry | |||
) |
Definition at line 3189 of file erregxml.c.
03190 { 03191 int i; 03192 regNetworkConfig_t *theNetworkConfig = NULL; 03193 regNetworkProfile_t **theNetworks = NULL; 03194 03195 ERREG_LOGPRINTF("entry"); 03196 g_assert(pNetworkConfig); 03197 g_assert(pNetworks); 03198 g_assert(pRegistry); 03199 03200 //destroy old profiles, just in case 03201 regFreeNetworkProfiles(*pNetworkConfig, *pNetworks); 03202 *pNetworkConfig = NULL; 03203 *pNetworks = NULL; 03204 03205 // retieve the network profile list data 03206 theNetworkConfig = regGetNetworkConfig(pRegistry); 03207 if (theNetworkConfig == NULL) 03208 { 03209 ERREG_WARNPRINTF("theNetworkConfig not present"); 03210 } 03211 else 03212 { 03213 ERREG_LOGPRINTF("theNetworkConfig exist"); 03214 03215 theNetworks = g_new0(regNetworkProfile_t *, theNetworkConfig->size); 03216 for (i = 0; i < theNetworkConfig->size; i++) 03217 { 03218 //retrieve the network data 03219 theNetworks[i] = regGetNetworkProfile(theNetworkConfig->networkList[i], pRegistry); 03220 ERREG_LOGPRINTF("theNetworks[%d] = [%p]", i, theNetworks[i]); 03221 } 03222 } 03223 03224 *pNetworkConfig = theNetworkConfig; 03225 *pNetworks = theNetworks; 03226 }
regPCConfig_t* regGetPCConfig | ( | const regRegistry_t * | pRegistry | ) |
Definition at line 713 of file erregxml.c.
00714 { 00715 regPCConfig_t *thePCConfig = NULL; 00716 00717 ERREG_LOGPRINTF("entry %p", pRegistry); 00718 g_assert(pRegistry); 00719 g_assert(pRegistry->xpaths); 00720 g_assert(pRegistry->xpaths->pcProfile); 00721 00722 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 00723 int nLen, i, nProfiles, nRet; 00724 00725 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 00726 00727 // get the number of nodes('application') 00728 nLen = g_snprintf(xpath, BUF_LEN, "%s", pRegistry->xpaths->pcProfile); 00729 nRet = ermXmlGetNodeNr(pXmlCxt, xpath, &nProfiles); 00730 if (RET_ERR == nRet || 0 == nProfiles) 00731 { 00732 ERREG_ERRORPRINTF("%s not present", xpath); 00733 return NULL; 00734 } 00735 00736 // memory malloc 00737 thePCConfig = g_new0(regPCConfig_t, 1); 00738 g_assert(thePCConfig != NULL); 00739 00740 thePCConfig->size = nProfiles; 00741 thePCConfig->pcList = g_new0(char *, nProfiles + 1); 00742 thePCConfig->pcList[nProfiles] = NULL; 00743 00744 // get the value of attribute(pcProfile[i]/@type) 00745 for (i = 1; i <= nProfiles; i++) 00746 { 00747 nLen = g_snprintf(xpath, BUF_LEN, "%s[%d]", pRegistry->xpaths->pcProfile, i); 00748 nRet = ermXmlGetAttributeString(pXmlCxt, xpath, ATTR_PROFILE_ID, szTmp, BUF_LEN); 00749 if (RET_OK == nRet) 00750 { 00751 thePCConfig->pcList[i - 1] = g_strdup(szTmp); 00752 } 00753 } 00754 00755 regDumpPCConfig(thePCConfig); 00756 return thePCConfig; 00757 }
regPCProfile_t* regGetPCProfile | ( | const char * | ID, | |
const regRegistry_t * | pRegistry | |||
) |
Definition at line 794 of file erregxml.c.
00795 { 00796 regPCProfile_t *thePCProfile = NULL; 00797 00798 ERREG_LOGPRINTF("entry %s %p", ID, pRegistry); 00799 g_assert(ID); 00800 g_assert(pRegistry); 00801 g_assert(pRegistry->xpaths); 00802 g_assert(pRegistry->xpaths->pcProfile); 00803 00804 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1], xpathExt[BUF_LEN + 1]; 00805 int nLen, nRet; 00806 00807 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 00808 00809 thePCProfile = g_new0(regPCProfile_t, 1); 00810 g_assert(thePCProfile != NULL); 00811 00812 // xpath 00813 nLen = g_snprintf(xpath, BUF_LEN, "%s[@%s=\"%s\"]", pRegistry->xpaths->pcProfile, ATTR_PROFILE_ID, ID); 00814 00815 // name 00816 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_PROFILE_NAME); 00817 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 00818 if (RET_ERR == nRet) 00819 { 00820 g_snprintf(szTmp, BUF_LEN, "%s", ID); 00821 } 00822 thePCProfile->name = g_strdup(szTmp); 00823 00824 // pcname 00825 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_PC_NAME); 00826 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 00827 if (RET_ERR == nRet) 00828 { 00829 ERREG_ERRORPRINTF("Can't get pcname from memory."); 00830 regFreePCProfile(thePCProfile); 00831 thePCProfile = NULL; 00832 return NULL; 00833 } 00834 thePCProfile->pcname = g_strdup(szTmp); 00835 00836 // sharename 00837 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_SHARE_NAME); 00838 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 00839 if (RET_ERR == nRet) 00840 { 00841 ERREG_ERRORPRINTF("Can't get sharename from memory."); 00842 regFreePCProfile(thePCProfile); 00843 thePCProfile = NULL; 00844 return NULL; 00845 } 00846 thePCProfile->sharename = g_strdup(szTmp); 00847 00848 // workgroup 00849 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_WORKGROUP); 00850 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 00851 if (RET_ERR == nRet) 00852 { 00853 ERREG_ERRORPRINTF("Can't get workgroup from memory."); 00854 regFreePCProfile(thePCProfile); 00855 thePCProfile = NULL; 00856 return NULL; 00857 } 00858 thePCProfile->workgroup = g_strdup(szTmp); 00859 00860 // username 00861 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_USER_NAME); 00862 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 00863 if (RET_ERR == nRet) 00864 { 00865 ERREG_ERRORPRINTF("Can't get username from memory."); 00866 regFreePCProfile(thePCProfile); 00867 thePCProfile = NULL; 00868 return NULL; 00869 } 00870 thePCProfile->username = g_strdup(szTmp); 00871 00872 // password 00873 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_PASSWORD); 00874 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 00875 if (RET_ERR == nRet) 00876 { 00877 ERREG_ERRORPRINTF("Can't get password from memory."); 00878 regFreePCProfile(thePCProfile); 00879 thePCProfile = NULL; 00880 return NULL; 00881 } 00882 thePCProfile->password = g_strdup(szTmp); 00883 00884 regDumpPCProfile(ID, thePCProfile); 00885 return thePCProfile; 00886 }
void regGetPCProfiles | ( | regPCConfig_t ** | pPCConfig, | |
regPCProfile_t *** | pPCs, | |||
const regRegistry_t * | pRegistry | |||
) |
Definition at line 1055 of file erregxml.c.
01056 { 01057 int i; 01058 regPCConfig_t *thePCConfig = NULL; 01059 regPCProfile_t **thePCs = NULL; 01060 01061 ERREG_LOGPRINTF("entry"); 01062 g_assert(pPCConfig); 01063 g_assert(pPCs); 01064 g_assert(pRegistry); 01065 01066 //destroy old profiles, just in case 01067 regFreePCProfiles(*pPCConfig, *pPCs); 01068 *pPCConfig = NULL; 01069 *pPCs = NULL; 01070 01071 // retieve the pc config data 01072 thePCConfig = regGetPCConfig(pRegistry); 01073 if (thePCConfig == NULL) 01074 { 01075 ERREG_WARNPRINTF("thePCConfig not present"); 01076 } 01077 else 01078 { 01079 ERREG_LOGPRINTF("thePCConfig exist"); 01080 01081 thePCs = g_new0(regPCProfile_t *, thePCConfig->size); 01082 for (i = 0; i < thePCConfig->size; i++) 01083 { 01084 //retrieve the pc data 01085 thePCs[i] = regGetPCProfile(thePCConfig->pcList[i], pRegistry); 01086 ERREG_LOGPRINTF("thePCs[%d] = [%p]", i, thePCs[i]); 01087 } 01088 } 01089 01090 *pPCConfig = thePCConfig; 01091 *pPCs = thePCs; 01092 }
regStartUp_t* regGetStartUp | ( | const regRegistry_t * | pRegistry | ) |
NOT TESTED: not used, may not work, maybe needs to be reworked to regSetExtInfoList. ** gboolean regSetExtInfo(const char *extension, const regExtInfo_t *theExtInfo, regRegistry_t *pRegistry) { ERREG_LOGPRINTF("entry %s %p %p", extension, theExtInfo, pRegistry); g_assert(extension); g_assert(theExtInfo); g_assert(pRegistry); g_assert(pRegistry->xpaths); g_assert(pRegistry->xpaths->extensionInfo);
regDumpExtInfo(theExtInfo);
char xpath[BUF_LEN + 1], xpathExt[BUF_LEN + 1]; int nLen, nRet;
erManifest *pXmlCxt = &(pRegistry->xmlCxt);
extensionInfo[extName=s] nLen = g_snprintf(xpath, BUF_LEN, "%s[%s=\"s\"]", pRegistry->xpaths->extensionInfo, EL_EXT_NAME, extension);
extensionInfo[extName=s]/associateApp if (theExtInfo->associateApp) { nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_ASSOCIATE_APP); nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); if (RET_OK == nRet) { nRet = ermXmlSetString(pXmlCxt, xpathExt, theExtInfo->associateApp); } if (RET_ERR == nRet) { return FALSE; } }
extensionInfo[extName=s]/extIcon if (theExtInfo->iconLocation) { nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_EXT_ICON); nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); if (RET_OK == nRet) { nRet = ermXmlSetString(pXmlCxt, xpathExt, theExtInfo->iconLocation); } if (RET_ERR == nRet) { return FALSE; } }
pRegistry->changed = TRUE; return TRUE; }
Definition at line 2188 of file erregxml.c.
02189 { 02190 regStartUp_t *theStartUp = NULL; 02191 02192 ERREG_LOGPRINTF("entry"); 02193 g_assert(pRegistry); 02194 g_assert(pRegistry->xpaths); 02195 g_assert(pRegistry->xpaths->startup); 02196 02197 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 02198 int nLen, nRet; 02199 02200 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 02201 02202 theStartUp = g_new0(regStartUp_t, 1); 02203 g_assert(theStartUp != NULL); 02204 02205 // behaviour 02206 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->startup, EL_BEHAVIOUR); 02207 nRet = ermXmlGetString(pXmlCxt, xpath, szTmp, BUF_LEN); 02208 if (RET_ERR == nRet) 02209 { 02210 regFreeStartUp(theStartUp); 02211 theStartUp = NULL; 02212 return NULL; 02213 } 02214 theStartUp->behaviour = regBehaviourToEnum(szTmp); 02215 02216 // documentPath 02217 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->startup, EL_DOCUMENT_PATH); 02218 nRet = ermXmlGetString(pXmlCxt, xpath, szTmp, BUF_LEN); 02219 if (RET_ERR == nRet) 02220 { 02221 regFreeStartUp(theStartUp); 02222 theStartUp = NULL; 02223 return NULL; 02224 } 02225 theStartUp->documentPath = g_strdup(szTmp); 02226 02227 regDumpStartUp(theStartUp); 02228 return theStartUp; 02229 02230 }
regTimedIds_t* regGetTimedIds | ( | const regRegistry_t * | pRegistry | ) |
Definition at line 1262 of file erregxml.c.
01263 { 01264 regTimedIds_t *theTimedIds = NULL; 01265 01266 ERREG_LOGPRINTF("entry %p", pRegistry); 01267 g_assert(pRegistry); 01268 g_assert(pRegistry->xpaths); 01269 g_assert(pRegistry->xpaths->autoConnect); 01270 01271 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 01272 int nRet; 01273 01274 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01275 01276 theTimedIds = g_new0(regTimedIds_t, 1); 01277 g_assert(theTimedIds != NULL); 01278 01279 // Enable timed-iDS connection or not 01280 g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->autoConnect, EL_TIMED_IDS, EL_ENABLE_TIMEDIDS); 01281 nRet = ermXmlGetBoolean(pXmlCxt, xpath, &theTimedIds->enable); 01282 if (nRet == RET_ERR) 01283 { 01284 regFreeTimedIds(theTimedIds); 01285 return NULL; 01286 } 01287 01288 // How many valid time count in time set 01289 g_snprintf(xpath, BUF_LEN, "%s/%s/%s/%s", pRegistry->xpaths->autoConnect, EL_TIMED_IDS, EL_TIMESET, EL_TIME); 01290 nRet = ermXmlGetNodeNr(pXmlCxt, xpath, &theTimedIds->timeCnt); 01291 if (nRet == RET_ERR) 01292 { 01293 regFreeTimedIds(theTimedIds); 01294 return NULL; 01295 } 01296 01297 // Time set 01298 int i, hh, mm, ss; 01299 for (i=1; i<=theTimedIds->timeCnt; i++) 01300 { 01301 g_snprintf(xpath, BUF_LEN, "%s/%s/%s/%s[%d]", pRegistry->xpaths->autoConnect, EL_TIMED_IDS, EL_TIMESET, EL_TIME, i); 01302 nRet = ermXmlGetString(pXmlCxt, xpath, szTmp, BUF_LEN); 01303 01304 if (RET_ERR == nRet) 01305 { 01306 regFreeTimedIds(theTimedIds); 01307 return NULL; 01308 } 01309 01310 sscanf(szTmp, "%02d:%02d:%02d", &hh, &mm, &ss); 01311 theTimedIds->timeSet[i-1] = hh*3600 + mm*60 + ss; 01312 } 01313 01314 // Enable software updates while connected to iDS 01315 g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->autoConnect, EL_TIMED_IDS, EL_ENABLE_SWUPDATE); 01316 nRet = ermXmlGetBoolean(pXmlCxt, xpath, &theTimedIds->swUpdate); 01317 if (nRet == RET_ERR) 01318 { 01319 regFreeTimedIds(theTimedIds); 01320 return NULL; 01321 } 01322 01323 // Switch off iLiad after waking iLiad up 01324 g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->autoConnect, EL_TIMED_IDS, EL_ENABLE_SWITCHOFF); 01325 nRet = ermXmlGetBoolean(pXmlCxt, xpath, &theTimedIds->switchOff); 01326 if (nRet == RET_ERR) 01327 { 01328 regFreeTimedIds(theTimedIds); 01329 return NULL; 01330 } 01331 01332 regDumpTimedIds(theTimedIds); 01333 return theTimedIds; 01334 }
regUserApp_t* regGetUserApp | ( | const char * | uaID, | |
const regRegistry_t * | pRegistry | |||
) |
Definition at line 1808 of file erregxml.c.
01809 { 01810 regUserApp_t *theUserApp = NULL; 01811 01812 ERREG_LOGPRINTF("entry %s %p", uaID, pRegistry); 01813 g_assert(uaID); 01814 g_assert(pRegistry); 01815 g_assert(pRegistry->xpaths); 01816 g_assert(pRegistry->xpaths->application); 01817 01818 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1], xpathExt[BUF_LEN + 1]; 01819 int nLen, nRet, nFormat; 01820 01821 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01822 01823 theUserApp = g_new0(regUserApp_t, 1); 01824 g_assert(theUserApp != NULL); 01825 01826 nLen = g_snprintf(xpath, BUF_LEN, "%s[@%s=\"%s\"]", pRegistry->xpaths->application, ATTR_TYPE, uaID); 01827 01828 // appCategory 01829 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_APP_CATEGORY); 01830 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 01831 if (RET_ERR == nRet) 01832 { 01833 ERREG_ERRORPRINTF("%s not present", xpathExt); 01834 regFreeUserApp(theUserApp); 01835 return NULL; 01836 } 01837 theUserApp->szCategory = g_strdup(szTmp); 01838 01839 // szArgMask 01840 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_ARG_MASK); 01841 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 01842 if (RET_ERR == nRet) 01843 { 01844 ERREG_ERRORPRINTF("%s not present", xpathExt); 01845 regFreeUserApp(theUserApp); 01846 return NULL; 01847 } 01848 theUserApp->szArgMask = g_strdup(szTmp); 01849 01850 // szExec 01851 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_EXECUTE); 01852 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 01853 if (RET_ERR == nRet) 01854 { 01855 ERREG_ERRORPRINTF("%s not present", xpathExt); 01856 regFreeUserApp(theUserApp); 01857 return NULL; 01858 } 01859 theUserApp->szExec = g_strdup(szTmp); 01860 01861 // xResName 01862 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_X_RES_NAME); 01863 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 01864 if (RET_ERR == nRet) 01865 { 01866 ERREG_ERRORPRINTF("%s not present", xpathExt); 01867 regFreeUserApp(theUserApp); 01868 return NULL; 01869 } 01870 theUserApp->xResName = g_strdup(szTmp); 01871 01872 // ipcChannel 01873 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_IPC_CHANNEL); 01874 nRet = ermXmlGetInt(pXmlCxt, xpathExt, &(theUserApp->ipcChannel)); 01875 if (RET_ERR == nRet) 01876 { 01877 ERREG_ERRORPRINTF("%s not present", xpathExt); 01878 regFreeUserApp(theUserApp); 01879 return NULL; 01880 } 01881 01882 // appIconPath 01883 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_APP_ICON_PATH); 01884 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 01885 if (RET_ERR == nRet) 01886 { 01887 ERREG_WARNPRINTF("%s not present", xpathExt); 01888 theUserApp->appIconPath = g_strdup(szTmp); 01889 } 01890 01891 // supportFormat 01892 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s/%s", xpath, EL_SUPPORT_FORMAT, EL_EXT_NAME); 01893 nRet = ermXmlGetNodeNr(pXmlCxt, xpathExt, &nFormat); 01894 if ((RET_OK == nRet) && nFormat) 01895 { 01896 int i; 01897 01898 theUserApp->extensionArray = g_new0(char *, nFormat + 1); 01899 theUserApp->extensionArray[nFormat] = NULL; 01900 theUserApp->extensionArraySize = nFormat; 01901 01902 for (i = 1; i <= nFormat; i++) 01903 { 01904 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s/%s[%d]", xpath, EL_SUPPORT_FORMAT, EL_EXT_NAME, i); 01905 nRet = ermXmlGetString(pXmlCxt, xpathExt, szTmp, BUF_LEN); 01906 if (RET_OK == nRet) 01907 { 01908 theUserApp->extensionArray[i - 1] = g_strdup(szTmp); 01909 } 01910 } // for (i...) 01911 } // if ((RET_OK == nRet) && nFormat) 01912 01913 regDumpUserApp(uaID, theUserApp); 01914 return theUserApp; 01915 }
regUserAppList_t* regGetUserAppList | ( | const regRegistry_t * | pRegistry | ) |
Definition at line 1764 of file erregxml.c.
01765 { 01766 regUserAppList_t *theUserAppList = NULL; 01767 01768 ERREG_LOGPRINTF("entry %p", pRegistry); 01769 g_assert(pRegistry); 01770 g_assert(pRegistry->xpaths); 01771 g_assert(pRegistry->xpaths->application); 01772 01773 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 01774 int nLen, i, nApp, nRet; 01775 01776 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01777 01778 // get the number of nodes('application') 01779 nLen = g_snprintf(xpath, BUF_LEN, "%s", pRegistry->xpaths->application); 01780 nRet = ermXmlGetNodeNr(pXmlCxt, xpath, &nApp); 01781 if (RET_ERR == nRet || 0 == nApp) 01782 { 01783 ERREG_ERRORPRINTF("%s not present", xpath); 01784 return NULL; 01785 } 01786 01787 // memory malloc 01788 theUserAppList = g_new0(regUserAppList_t, 1); 01789 theUserAppList->uaIDArraySize = nApp; 01790 theUserAppList->uaIDArray = g_new0(char *, nApp + 1); 01791 theUserAppList->uaIDArray[nApp] = NULL; 01792 01793 // get the value of attribute(application[i]/@type) 01794 for (i = 1; i <= nApp; i++) 01795 { 01796 nLen = g_snprintf(xpath, BUF_LEN, "%s[%d]", pRegistry->xpaths->application, i); 01797 nRet = ermXmlGetAttributeString(pXmlCxt, xpath, ATTR_TYPE, szTmp, BUF_LEN); 01798 if (RET_OK == nRet) 01799 { 01800 theUserAppList->uaIDArray[i - 1] = g_strdup(szTmp); 01801 } 01802 } 01803 01804 regDumpUserAppList(theUserAppList); 01805 return theUserAppList; 01806 }
regUserProfile_t* regGetUserProfile | ( | const regRegistry_t * | pRegistry | ) |
Definition at line 322 of file erregxml.c.
00323 { 00324 regUserProfile_t *theUserProfile = NULL; 00325 00326 ERREG_LOGPRINTF("entry"); 00327 g_assert(pRegistry); 00328 g_assert(pRegistry->xpaths); 00329 g_assert(pRegistry->xpaths->userProfile); 00330 00331 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 00332 int nLen, nRet; 00333 00334 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 00335 00336 theUserProfile = g_new0(regUserProfile_t, 1); 00337 g_assert(theUserProfile != NULL); 00338 00339 // name 00340 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->userProfile, EL_NAME); 00341 nRet = ermXmlGetString(pXmlCxt, xpath, szTmp, BUF_LEN); 00342 if (RET_ERR == nRet) 00343 { 00344 ERREG_ERRORPRINTF("Can't get name from memory."); 00345 regFreeUserProfile(theUserProfile); 00346 theUserProfile = NULL; 00347 return NULL; 00348 } 00349 theUserProfile->name = g_strdup(szTmp); 00350 00351 // email 00352 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->userProfile, EL_EMAIL); 00353 nRet = ermXmlGetString(pXmlCxt, xpath, szTmp, BUF_LEN); 00354 if (RET_ERR == nRet) 00355 { 00356 ERREG_ERRORPRINTF("Can't get email from memory."); 00357 regFreeUserProfile(theUserProfile); 00358 theUserProfile = NULL; 00359 return NULL; 00360 } 00361 theUserProfile->email = g_strdup(szTmp); 00362 00363 // password 00364 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->userProfile, EL_PASSWORD); 00365 nRet = ermXmlGetString(pXmlCxt, xpath, szTmp, BUF_LEN); 00366 if (RET_ERR == nRet) 00367 { 00368 ERREG_ERRORPRINTF("Can't get password from memory."); 00369 regFreeUserProfile(theUserProfile); 00370 theUserProfile = NULL; 00371 return NULL; 00372 } 00373 theUserProfile->password = g_strdup(szTmp); 00374 00375 // redirectUrl 00376 gboolean bConfig = FALSE; 00377 char* cp = strstr(pRegistry->xpaths->userProfile, EL_CONFIG_ROOT); 00378 bConfig = (cp != NULL) ? TRUE : FALSE; 00379 ERREG_LOGPRINTF("bConfig=%d", bConfig); 00380 if (!bConfig) 00381 { 00382 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->userProfile, EL_REDIRECT_URL); 00383 nRet = ermXmlGetString(pXmlCxt, xpath, szTmp, BUF_LEN); 00384 if (RET_ERR == nRet) 00385 { 00386 ERREG_ERRORPRINTF("Can't get redirectUrl from memory."); 00387 regFreeUserProfile(theUserProfile); 00388 theUserProfile = NULL; 00389 return NULL; 00390 } 00391 theUserProfile->redirectUrl = g_strdup(szTmp); 00392 } 00393 00394 regDumpUserProfile(theUserProfile); 00395 return theUserProfile; 00396 }
regUserSetting_t* regGetUserSetting | ( | const regRegistry_t * | pRegistry | ) |
Definition at line 477 of file erregxml.c.
00478 { 00479 regUserSetting_t *theUserSetting = NULL; 00480 00481 ERREG_LOGPRINTF("entry"); 00482 g_assert(pRegistry); 00483 g_assert(pRegistry->xpaths); 00484 g_assert(pRegistry->xpaths->userSetting); 00485 00486 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 00487 int nLen, nRet; 00488 gboolean bEnable; 00489 00490 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 00491 00492 theUserSetting = g_new0(regUserSetting_t, 1); 00493 g_assert(theUserSetting != NULL); 00494 00495 // language 00496 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->userSetting, EL_LANGUAGE); 00497 nRet = ermXmlGetString(pXmlCxt, xpath, szTmp, BUF_LEN); 00498 if (RET_ERR == nRet) 00499 { 00500 ERREG_ERRORPRINTF("Can't get language from memory."); 00501 regFreeUserSetting(theUserSetting); 00502 theUserSetting = NULL; 00503 return NULL; 00504 } 00505 theUserSetting->language = g_strdup(szTmp); 00506 00507 // sound 00508 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->userSetting, EL_SOUND, EL_ENABLE); 00509 nRet = ermXmlGetBoolean(pXmlCxt, xpath, &bEnable); 00510 if (RET_ERR == nRet) 00511 { 00512 ERREG_ERRORPRINTF("Can't get sound enable flag from memory."); 00513 regFreeUserSetting(theUserSetting); 00514 theUserSetting = NULL; 00515 return NULL; 00516 } 00517 00518 if (!bEnable) 00519 { 00520 theUserSetting->volume = 0; 00521 } 00522 else 00523 { 00524 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->userSetting, EL_SOUND, EL_VOLUME); 00525 nRet = ermXmlGetInt(pXmlCxt, xpath, &theUserSetting->volume); 00526 if (RET_ERR == nRet) 00527 { 00528 ERREG_ERRORPRINTF("Can't get sound volume from memory."); 00529 regFreeUserSetting(theUserSetting); 00530 theUserSetting = NULL; 00531 return NULL; 00532 } 00533 } 00534 00535 // keyBuffering 00536 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->userSetting, EL_KEY_BUFFERING, EL_ENABLE); 00537 nRet = ermXmlGetBoolean(pXmlCxt, xpath, &bEnable); 00538 if (RET_ERR == nRet) 00539 { 00540 ERREG_ERRORPRINTF("Can't get key buffering enable flag from memory."); 00541 regFreeUserSetting(theUserSetting); 00542 theUserSetting = NULL; 00543 return NULL; 00544 } 00545 00546 if (!bEnable) 00547 { 00548 theUserSetting->keyBuffering = 0; 00549 } 00550 else 00551 { 00552 nLen = 00553 g_snprintf(xpath, BUF_LEN, "%s/%s/%s", 00554 pRegistry->xpaths->userSetting, EL_KEY_BUFFERING, EL_NUMBER_OF_KEYS); 00555 nRet = ermXmlGetInt(pXmlCxt, xpath, &theUserSetting->keyBuffering); 00556 if (RET_ERR == nRet) 00557 { 00558 ERREG_ERRORPRINTF("Can't get the number of key buffering from memory."); 00559 regFreeUserSetting(theUserSetting); 00560 theUserSetting = NULL; 00561 return NULL; 00562 } 00563 } 00564 00565 // longkeypressTimeout 00566 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->userSetting, EL_LONG_KP_TIMEOUT); 00567 nRet = ermXmlGetInt(pXmlCxt, xpath, &theUserSetting->longkeypressTimeout); 00568 if (RET_ERR == nRet) 00569 { 00570 ERREG_ERRORPRINTF("Can't get long key press timeout from memory."); 00571 regFreeUserSetting(theUserSetting); 00572 theUserSetting = NULL; 00573 return NULL; 00574 } 00575 00576 // flipbarLeftIsDown 00577 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->userSetting, EL_FLIPBAR_DIRECTION); 00578 nRet = ermXmlGetBoolean(pXmlCxt, xpath, &theUserSetting->flipbarLeftIsDown); 00579 if (RET_ERR == nRet) 00580 { 00581 ERREG_ERRORPRINTF("Can't get flipbar direction from memory."); 00582 regFreeUserSetting(theUserSetting); 00583 theUserSetting = NULL; 00584 return NULL; 00585 } 00586 00587 regDumpUserSetting(theUserSetting); 00588 return theUserSetting; 00589 }
regVersion_t* regGetVersion | ( | const regRegistry_t * | pRegistry | ) |
Definition at line 254 of file erregxml.c.
00255 { 00256 regVersion_t *theVersion = NULL; 00257 00258 ERREG_LOGPRINTF("entry %p", pRegistry); 00259 g_assert(pRegistry); 00260 g_assert(pRegistry->xpaths); 00261 g_assert(pRegistry->xpaths->version); 00262 00263 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 00264 int nLen, nRet; 00265 00266 const erManifest *pXmlCxt = &(pRegistry->xmlCxt); 00267 00268 theVersion = g_new0(regVersion_t, 1); 00269 g_assert(theVersion != NULL); 00270 00271 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->version, EL_REGISTRY); 00272 nRet = ermXmlGetString(pXmlCxt, xpath, szTmp, BUF_LEN); 00273 if (RET_ERR == nRet) 00274 { 00275 ERREG_ERRORPRINTF("Can't get regVersion_t from memory."); 00276 regFreeVersion(theVersion); 00277 theVersion = NULL; 00278 return NULL; 00279 } 00280 else 00281 { 00282 theVersion->registry = g_strdup(szTmp); 00283 } 00284 00285 regDumpVersion(theVersion); 00286 return theVersion; 00287 }
regRegistry_t* regParseFiles | ( | const char * | szXmlFile, | |
const char * | szXsdFile | |||
) |
Definition at line 124 of file erregxml.c.
00125 { 00126 ERREG_LOGPRINTF("entry: xml [%s] xsd [%s]", szXmlFile, szXsdFile); 00127 g_assert(szXmlFile); 00128 g_assert(szXsdFile); 00129 00130 regRegistry_t *pRegistry = NULL; 00131 gchar *cp; 00132 00133 // load registry file 00134 pRegistry = regParseSingleFile(szXmlFile, szXsdFile); 00135 if (pRegistry == NULL) 00136 { 00137 // load error: try .new file 00138 cp = g_strdup_printf("%s.new", szXmlFile); 00139 ERREG_WARNPRINTF("Trying registry file [%s]", cp); 00140 pRegistry = regParseSingleFile(cp, szXsdFile); 00141 g_free(cp); 00142 if (pRegistry == NULL) 00143 { 00144 // load error: try .old file 00145 cp = g_strdup_printf("%s.old", szXmlFile); 00146 ERREG_WARNPRINTF("Trying registry file [%s]", cp); 00147 pRegistry = regParseSingleFile(szXmlFile, cp); 00148 g_free(cp); 00149 } 00150 00151 // store the recovered registry values 00152 if (pRegistry) 00153 { 00154 pRegistry->changed = TRUE; 00155 if (erRegGetLockState() == lock_write) 00156 { 00157 regStore(pRegistry, szXmlFile); 00158 } 00159 } 00160 } 00161 00162 ERREG_LOGPRINTF("leave: pRegistry [%p]", pRegistry); 00163 return pRegistry; 00164 }
gboolean regRemoveNetworkConfig | ( | regRegistry_t * | pRegistry | ) |
Definition at line 3166 of file erregxml.c.
03167 { 03168 ERREG_LOGPRINTF("entry %p", pRegistry); 03169 g_assert(pRegistry); 03170 g_assert(pRegistry->xpaths); 03171 g_assert(pRegistry->xpaths->networkProfiles); 03172 03173 char xpath[BUF_LEN + 1]; 03174 int nLen, nRet; 03175 03176 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 03177 03178 // xpath 03179 nLen = g_snprintf(xpath, BUF_LEN, "%s", pRegistry->xpaths->networkProfiles); 03180 nRet = ermXmlRemoveNode(pXmlCxt, xpath); 03181 if (RET_ERR == nRet) 03182 { 03183 return FALSE; 03184 } 03185 03186 return TRUE; 03187 }
gboolean regRemoveNetworkProfile | ( | const char * | ID, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 3142 of file erregxml.c.
03143 { 03144 ERREG_LOGPRINTF("entry %p", pRegistry); 03145 g_assert(ID); 03146 g_assert(pRegistry); 03147 g_assert(pRegistry->xpaths); 03148 g_assert(pRegistry->xpaths->networkProfile); 03149 03150 char xpath[BUF_LEN + 1]; 03151 int nLen, nRet; 03152 03153 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 03154 03155 // xpath 03156 nLen = g_snprintf(xpath, BUF_LEN, "%s[@%s=\"%s\"]", pRegistry->xpaths->networkProfile, ATTR_PROFILE_ID, ID); 03157 nRet = ermXmlRemoveNode(pXmlCxt, xpath); 03158 if (RET_ERR == nRet) 03159 { 03160 return FALSE; 03161 } 03162 03163 return TRUE; 03164 }
gboolean regRemovePCConfig | ( | regRegistry_t * | pRegistry | ) |
Definition at line 1032 of file erregxml.c.
01033 { 01034 ERREG_LOGPRINTF("entry %p", pRegistry); 01035 g_assert(pRegistry); 01036 g_assert(pRegistry->xpaths); 01037 g_assert(pRegistry->xpaths->pcProfiles); 01038 01039 char xpath[BUF_LEN + 1]; 01040 int nLen, nRet; 01041 01042 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01043 01044 // xpath 01045 nLen = g_snprintf(xpath, BUF_LEN, "%s", pRegistry->xpaths->pcProfiles); 01046 nRet = ermXmlRemoveNode(pXmlCxt, xpath); 01047 if (RET_ERR == nRet) 01048 { 01049 return FALSE; 01050 } 01051 01052 return TRUE; 01053 }
gboolean regRemovePCProfile | ( | const char * | ID, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 1008 of file erregxml.c.
01009 { 01010 ERREG_LOGPRINTF("entry %s %p", ID, pRegistry); 01011 g_assert(ID); 01012 g_assert(pRegistry); 01013 g_assert(pRegistry->xpaths); 01014 g_assert(pRegistry->xpaths->pcProfile); 01015 01016 char xpath[BUF_LEN + 1]; 01017 int nLen, nRet; 01018 01019 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01020 01021 // xpath 01022 nLen = g_snprintf(xpath, BUF_LEN, "%s[@%s=\"%s\"]", pRegistry->xpaths->pcProfile, ATTR_PROFILE_ID, ID); 01023 nRet = ermXmlRemoveNode(pXmlCxt, xpath); 01024 if (RET_ERR == nRet) 01025 { 01026 return FALSE; 01027 } 01028 01029 return TRUE; 01030 }
gboolean regRemoveTimeSet | ( | regRegistry_t * | pRegistry | ) |
Definition at line 1336 of file erregxml.c.
01337 { 01338 ERREG_LOGPRINTF("entry %p", pRegistry); 01339 g_assert(pRegistry); 01340 g_assert(pRegistry->xpaths); 01341 g_assert(pRegistry->xpaths->autoConnect); 01342 01343 char xpath[BUF_LEN + 1]; 01344 01345 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01346 01347 // xpath 01348 g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->autoConnect, EL_TIMED_IDS, EL_TIMESET); 01349 if (ermXmlRemoveNode(pXmlCxt, xpath) == RET_ERR) 01350 { 01351 return FALSE; 01352 } 01353 01354 return TRUE; 01355 }
gboolean regSetAutoConnect | ( | const regAutoConnect_t * | theAutoConnect, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 1181 of file erregxml.c.
01182 { 01183 ERREG_LOGPRINTF("entry %p %p", theAutoConnect, pRegistry); 01184 g_assert(theAutoConnect); 01185 g_assert(pRegistry); 01186 g_assert(pRegistry->xpaths); 01187 g_assert(pRegistry->xpaths->autoConnect); 01188 01189 regDumpAutoConnect(theAutoConnect); 01190 01191 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 01192 int nLen, nRet; 01193 01194 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01195 01196 // connect to which server 01197 regServerTypeToString(theAutoConnect->backgroundConnectTo, szTmp, BUF_LEN); 01198 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->autoConnect, EL_SERVER_TYPE); 01199 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 01200 if (RET_OK == nRet) 01201 { 01202 nRet = ermXmlSetString(pXmlCxt, xpath, szTmp); 01203 } 01204 if (RET_ERR == nRet) 01205 { 01206 return FALSE; 01207 } 01208 01209 // backgroundEnable 01210 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->autoConnect, EL_BACKGOUND, EL_ENABLE); 01211 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 01212 if (RET_OK == nRet) 01213 { 01214 nRet = ermXmlSetBoolean(pXmlCxt, xpath, theAutoConnect->backgroundEnable); 01215 } 01216 if (RET_ERR == nRet) 01217 { 01218 return FALSE; 01219 } 01220 01221 // backgroundInterval 01222 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->autoConnect, EL_BACKGOUND, EL_INTERVAL); 01223 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 01224 if (RET_OK == nRet) 01225 { 01226 nRet = ermXmlSetInt(pXmlCxt, xpath, theAutoConnect->backgroundInterval); 01227 } 01228 if (RET_ERR == nRet) 01229 { 01230 return FALSE; 01231 } 01232 01233 pRegistry->changed = TRUE; 01234 return TRUE; 01235 }
gboolean regSetAutoConnectWlan | ( | const gboolean | enable, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 3389 of file erregxml.c.
03390 { 03391 ERREG_LOGPRINTF("entry %p", pRegistry); 03392 g_assert(pRegistry); 03393 g_assert(pRegistry->xpaths); 03394 g_assert(pRegistry->xpaths->autoConnectWlan); 03395 03396 regDumpAutoConnectWlan(enable); 03397 03398 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 03399 char *xpath = pRegistry->xpaths->autoConnectWlan; 03400 int nRet = ermXmlCheckXpath(pXmlCxt, xpath); 03401 if (RET_OK == nRet) 03402 { 03403 nRet = ermXmlSetBoolean(pXmlCxt, xpath, enable); 03404 } 03405 if (RET_ERR == nRet) 03406 { 03407 return FALSE; 03408 } 03409 03410 pRegistry->changed = TRUE; 03411 return TRUE; 03412 }
gboolean regSetContentCategory | ( | const char * | ID, | |
const regContentCategory_t * | theContentCategory, | |||
regRegistry_t * | pRegistry | |||
) |
Definition at line 1497 of file erregxml.c.
01498 { 01499 ERREG_LOGPRINTF("%s %p %p", ID, theContentCategory, pRegistry); 01500 g_assert(ID); 01501 g_assert(theContentCategory); 01502 g_assert(pRegistry); 01503 g_assert(pRegistry->xpaths); 01504 g_assert(pRegistry->xpaths->category); 01505 01506 regDumpContentCategory(ID, theContentCategory); 01507 01508 char xpath[BUF_LEN + 1], xpathExt[BUF_LEN + 1]; 01509 int nLen, nRet; 01510 01511 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01512 01513 nLen = g_snprintf(xpath, BUF_LEN, "%s[@%s=\"%s\"]", pRegistry->xpaths->category, ATTR_TYPE, ID); 01514 01515 if (theContentCategory->location) 01516 { 01517 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_LOCATION); 01518 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 01519 if (RET_OK == nRet) 01520 { 01521 nRet = ermXmlSetString(pXmlCxt, xpathExt, theContentCategory->location); 01522 } 01523 if (RET_ERR == nRet) 01524 { 01525 return FALSE; 01526 } 01527 } 01528 01529 if (theContentCategory->sortFieldType) 01530 { 01531 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s/%s", xpath, EL_SORT, EL_SORT_FIELD_TYPE); 01532 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 01533 if (RET_OK == nRet) 01534 { 01535 nRet = ermXmlSetString(pXmlCxt, xpathExt, theContentCategory->sortFieldType); 01536 } 01537 if (RET_ERR == nRet) 01538 { 01539 return FALSE; 01540 } 01541 } 01542 01543 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s/%s", xpath, EL_SORT, EL_SORT_ASCENDING); 01544 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 01545 if (RET_OK == nRet) 01546 { 01547 nRet = ermXmlSetBoolean(pXmlCxt, xpathExt, theContentCategory->sortAscending); 01548 } 01549 if (RET_ERR == nRet) 01550 { 01551 return FALSE; 01552 } 01553 01554 pRegistry->changed = TRUE; 01555 return TRUE; 01556 }
gboolean regSetDeviceDetails | ( | const deviceDetails_t * | theDeviceDetails, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 3550 of file erregxml.c.
03551 { 03552 ERREG_LOGPRINTF("entry %p %p", theDeviceDetails, pRegistry); 03553 g_assert(theDeviceDetails); 03554 g_assert(pRegistry); 03555 g_assert(pRegistry->xpaths); 03556 g_assert(pRegistry->xpaths->deviceDetails); 03557 03558 regDumpDeviceDetails(theDeviceDetails); 03559 03560 char xpath[BUF_LEN + 1]; 03561 int nLen, nRet; 03562 03563 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 03564 03565 // software 03566 if (theDeviceDetails->software) 03567 { 03568 // buildName 03569 if (theDeviceDetails->software->szBuildName) 03570 { 03571 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->deviceDetails, EL_SOFTWARE, EL_BUILD_NAME); 03572 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 03573 if (RET_OK == nRet) 03574 { 03575 nRet = ermXmlSetString(pXmlCxt, xpath, theDeviceDetails->software->szBuildName); 03576 } 03577 03578 if (RET_ERR == nRet) 03579 { 03580 return FALSE; 03581 } 03582 } 03583 03584 // buildNum 03585 if (theDeviceDetails->software->szBuildNum) 03586 { 03587 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->deviceDetails, EL_SOFTWARE, EL_BUILD_NUM); 03588 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 03589 if (RET_OK == nRet) 03590 { 03591 nRet = ermXmlSetString(pXmlCxt, xpath, theDeviceDetails->software->szBuildNum); 03592 } 03593 03594 if (RET_ERR == nRet) 03595 { 03596 return FALSE; 03597 } 03598 } 03599 } 03600 03601 // szMacOfWired 03602 if (theDeviceDetails->szMacOfWired) 03603 { 03604 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->deviceDetails, EL_MAC_OF_WIRED); 03605 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 03606 if (RET_OK == nRet) 03607 { 03608 nRet = ermXmlSetString(pXmlCxt, xpath, theDeviceDetails->szMacOfWired); 03609 } 03610 03611 if (RET_ERR == nRet) 03612 { 03613 return FALSE; 03614 } 03615 } 03616 03617 // szMacOfWireless 03618 if (theDeviceDetails->szMacOfWireless) 03619 { 03620 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->deviceDetails, EL_MAC_OF_WIRELESS); 03621 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 03622 if (RET_OK == nRet) 03623 { 03624 nRet = ermXmlSetString(pXmlCxt, xpath, theDeviceDetails->szMacOfWireless); 03625 } 03626 03627 if (RET_ERR == nRet) 03628 { 03629 return FALSE; 03630 } 03631 } 03632 03633 // szPublicKey 03634 if (theDeviceDetails->szPublicKey) 03635 { 03636 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->deviceDetails, EL_PUBLIC_KEY); 03637 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 03638 if (RET_OK == nRet) 03639 { 03640 nRet = ermXmlSetString(pXmlCxt, xpath, theDeviceDetails->szPublicKey); 03641 } 03642 03643 if (RET_ERR == nRet) 03644 { 03645 return FALSE; 03646 } 03647 } 03648 03649 pRegistry->changed = TRUE; 03650 return TRUE; 03651 }
gboolean regSetExportMemType | ( | const regExportMemType_t * | theExportMemType, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 1587 of file erregxml.c.
01588 { 01589 ERREG_LOGPRINTF("%p %p", theExportMemType, pRegistry); 01590 g_assert(theExportMemType); 01591 g_assert(pRegistry); 01592 g_assert(pRegistry->xpaths); 01593 g_assert(pRegistry->xpaths->usbExport); 01594 g_assert(theExportMemType); 01595 g_assert(theExportMemType->location); 01596 01597 regDumpExportMemType(theExportMemType); 01598 01599 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01600 01601 if (RET_ERR == ermXmlCheckXpath(pXmlCxt, pRegistry->xpaths->usbExport)) 01602 { 01603 return FALSE; 01604 } 01605 if (RET_ERR == ermXmlSetString(pXmlCxt, pRegistry->xpaths->usbExport, theExportMemType->location)) 01606 { 01607 return FALSE; 01608 } 01609 01610 pRegistry->changed = TRUE; 01611 return TRUE; 01612 }
gboolean regSetLastConnect | ( | const regLastConnect_t * | theLastConnect, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 3312 of file erregxml.c.
03313 { 03314 ERREG_LOGPRINTF("entry %p %p", theLastConnect, pRegistry); 03315 g_assert(theLastConnect); 03316 g_assert(pRegistry); 03317 g_assert(pRegistry->xpaths); 03318 g_assert(pRegistry->xpaths->lastConnect); 03319 03320 regDumpLastConnect(theLastConnect); 03321 03322 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 03323 int nLen, nRet = RET_OK; 03324 03325 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 03326 03327 // profileConnectedIDS 03328 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->lastConnect, EL_PROFILE_CONNECTED_IDS); 03329 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 03330 if (RET_OK == nRet) 03331 { 03332 nRet = ermXmlSetInt(pXmlCxt, xpath, theLastConnect->profileConnectedIDS); 03333 } 03334 if (RET_ERR == nRet) 03335 { 03336 return FALSE; 03337 } 03338 03339 // profileConnectedPC 03340 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->lastConnect, EL_PROFILE_CONNECTED_PC); 03341 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 03342 if (RET_OK == nRet) 03343 { 03344 nRet = ermXmlSetInt(pXmlCxt, xpath, theLastConnect->profileConnectedPC); 03345 } 03346 if (RET_ERR == nRet) 03347 { 03348 return FALSE; 03349 } 03350 03351 // connect to which server 03352 regServerTypeToString(theLastConnect->manualConnectType, szTmp, BUF_LEN); 03353 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->lastConnect, EL_MANUAL_CONNECT_TYPE); 03354 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 03355 if (RET_OK == nRet) 03356 { 03357 nRet = ermXmlSetString(pXmlCxt, xpath, szTmp); 03358 } 03359 if (RET_ERR == nRet) 03360 { 03361 return FALSE; 03362 } 03363 03364 pRegistry->changed = TRUE; 03365 return TRUE; 03366 }
gboolean regSetLastRead | ( | const char * | ID, | |
const regLastRead_t * | theLastRead, | |||
regRegistry_t * | pRegistry | |||
) |
Definition at line 1686 of file erregxml.c.
01687 { 01688 ERREG_LOGPRINTF("entry %s %p %p", ID, theLastRead, pRegistry); 01689 g_assert(ID); 01690 g_assert(theLastRead); 01691 g_assert(pRegistry); 01692 g_assert(pRegistry->xpaths); 01693 g_assert(pRegistry->xpaths->lastRead); 01694 01695 regDumpLastRead(ID, theLastRead); 01696 01697 char xpath[BUF_LEN + 1], xpathExt[BUF_LEN + 1]; 01698 int nLen, nRet; 01699 01700 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01701 01702 nLen = g_snprintf(xpath, BUF_LEN, "%s[@%s=\"%s\"]", pRegistry->xpaths->lastRead, ATTR_TYPE, ID); 01703 01704 if (theLastRead->extension) 01705 { 01706 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_EXT_NAME); 01707 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 01708 if (RET_OK == nRet) 01709 { 01710 nRet = ermXmlSetString(pXmlCxt, xpathExt, theLastRead->extension); 01711 } 01712 if (RET_ERR == nRet) 01713 { 01714 return FALSE; 01715 } 01716 } 01717 01718 if (theLastRead->documentPath) 01719 { 01720 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_DOCUMENT_PATH); 01721 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 01722 if (RET_OK == nRet) 01723 { 01724 nRet = ermXmlSetString(pXmlCxt, xpathExt, theLastRead->documentPath); 01725 } 01726 if (RET_ERR == nRet) 01727 { 01728 return FALSE; 01729 } 01730 } 01731 01732 if (theLastRead->manifestPath) 01733 { 01734 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_MANIFEST_PATH); 01735 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 01736 if (RET_OK == nRet) 01737 { 01738 nRet = ermXmlSetString(pXmlCxt, xpathExt, theLastRead->manifestPath); 01739 } 01740 if (RET_ERR == nRet) 01741 { 01742 return FALSE; 01743 } 01744 } 01745 01746 if (theLastRead->position) 01747 { 01748 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_POSITION); 01749 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 01750 if (RET_OK == nRet) 01751 { 01752 nRet = ermXmlSetString(pXmlCxt, xpathExt, theLastRead->position); 01753 } 01754 if (RET_ERR == nRet) 01755 { 01756 return FALSE; 01757 } 01758 } 01759 01760 pRegistry->changed = TRUE; 01761 return TRUE; 01762 }
gboolean regSetNetworkConfig | ( | const regNetworkConfig_t * | theNetworkConfig, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 2544 of file erregxml.c.
02545 { 02546 ERREG_LOGPRINTF("entry %p %p", theNetworkConfig, pRegistry); 02547 g_assert(theNetworkConfig); 02548 g_assert(pRegistry); 02549 g_assert(pRegistry->xpaths); 02550 g_assert(pRegistry->xpaths->networkProfile); 02551 02552 regDumpNetworkConfig(theNetworkConfig); 02553 02554 char xpath[BUF_LEN + 1]; 02555 int nLen, i, nProfiles, nRet; 02556 02557 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 02558 02559 nProfiles = theNetworkConfig->size; 02560 for (i = 1; i <= nProfiles; i++) 02561 { 02562 nLen = g_snprintf(xpath, BUF_LEN, "%s[%d]", pRegistry->xpaths->networkProfile, i); 02563 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 02564 if (RET_OK == nRet) 02565 { 02566 nRet = ermXmlSetAttributeString(pXmlCxt, xpath, ATTR_PROFILE_ID, 02567 theNetworkConfig->networkList[i-1], 02568 strlen(theNetworkConfig->networkList[i-1])); 02569 } 02570 if (RET_ERR == nRet) 02571 { 02572 return FALSE; 02573 } 02574 } 02575 02576 pRegistry->changed = TRUE; 02577 return TRUE; 02578 }
gboolean regSetNetworkProfile | ( | const char * | ID, | |
const regNetworkProfile_t * | theNetworkProfile, | |||
regRegistry_t * | pRegistry | |||
) |
Definition at line 3009 of file erregxml.c.
03010 { 03011 ERREG_LOGPRINTF("entry %s %p %p", ID, theNetworkProfile, pRegistry); 03012 g_assert(ID); 03013 g_assert(theNetworkProfile); 03014 g_assert(pRegistry); 03015 g_assert(pRegistry->xpaths); 03016 g_assert(pRegistry->xpaths->networkProfile); 03017 03018 regDumpNetworkProfile(ID, theNetworkProfile); 03019 03020 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1], xpathExt[BUF_LEN + 1]; 03021 int nLen, nRet; 03022 gboolean bDhcp, bRet; 03023 03024 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 03025 03026 if (FALSE == regChkNetworkProfile(theNetworkProfile)) 03027 { 03028 return FALSE; 03029 } 03030 03031 // xpath 03032 nLen = g_snprintf(xpath, BUF_LEN, "%s[@%s=\"%s\"]", pRegistry->xpaths->networkProfile, ATTR_PROFILE_ID, ID); 03033 03034 // profile name 03035 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_PROFILE_NAME); 03036 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 03037 if (RET_OK == nRet) 03038 { 03039 nRet = ermXmlSetString(pXmlCxt, xpathExt, theNetworkProfile->name); 03040 } 03041 if (RET_ERR == nRet) 03042 { 03043 return FALSE; 03044 } 03045 03046 // networkType 03047 regNetworkTypeToString(theNetworkProfile->connection, szTmp, BUF_LEN); 03048 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_NETWORK_TYPE); 03049 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 03050 if (RET_OK == nRet) 03051 { 03052 nRet = ermXmlSetString(pXmlCxt, xpathExt, szTmp); 03053 } 03054 if (RET_ERR == nRet) 03055 { 03056 return FALSE; 03057 } 03058 03059 // useProxy 03060 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_USE_PROXY); 03061 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 03062 if (RET_OK == nRet) 03063 { 03064 nRet = ermXmlSetBoolean(pXmlCxt, xpathExt, theNetworkProfile->proxy); 03065 } 03066 if (RET_ERR == nRet) 03067 { 03068 return FALSE; 03069 } 03070 03071 // userDhcp 03072 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_USE_DHCP); 03073 bDhcp = regIpAddressToBool(theNetworkProfile->addressMode); 03074 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 03075 if (RET_OK == nRet) 03076 { 03077 nRet = ermXmlSetBoolean(pXmlCxt, xpathExt, bDhcp); 03078 } 03079 if (RET_ERR == nRet) 03080 { 03081 return FALSE; 03082 } 03083 03084 if (theNetworkProfile->connection == wireless_t) 03085 { 03086 // wireless settings 03087 bRet = setWirelessSettings(pRegistry, xpath, theNetworkProfile->wirelessSettings); 03088 if (FALSE == bRet) 03089 { 03090 return FALSE; 03091 } 03092 } 03093 else if (theNetworkProfile->connection == dialup_t) 03094 { 03095 // dialup settings 03096 bRet = setDialupSettings(pRegistry, xpath, theNetworkProfile->dialupSettings); 03097 if (FALSE == bRet) 03098 { 03099 return FALSE; 03100 } 03101 } 03102 03103 // proxy settings 03104 if (theNetworkProfile->proxy == TRUE) 03105 { 03106 bRet = setProxySettings(pRegistry, xpath, theNetworkProfile->proxySettings); 03107 if (FALSE == bRet) 03108 { 03109 return FALSE; 03110 } 03111 } 03112 03113 // IP settings 03114 if (theNetworkProfile->addressMode == static_t) 03115 { 03116 bRet = setIpSettings(pRegistry, xpath, theNetworkProfile->ipSettings); 03117 if (FALSE == bRet) 03118 { 03119 return FALSE; 03120 } 03121 } 03122 03123 // timestamp 03124 if (theNetworkProfile->timestamp != 0) 03125 { 03126 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_TIMESTAMP); 03127 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 03128 if (RET_OK == nRet) 03129 { 03130 nRet = ermXmlSetInt(pXmlCxt, xpathExt, theNetworkProfile->timestamp); 03131 } 03132 if (RET_ERR == nRet) 03133 { 03134 return FALSE; 03135 } 03136 } 03137 03138 pRegistry->changed = TRUE; 03139 return TRUE; 03140 }
gboolean regSetNetworkProfiles | ( | const regNetworkConfig_t * | pNetworkConfig, | |
const regNetworkProfile_t ** | pNetworks, | |||
regRegistry_t * | pRegistry | |||
) |
Definition at line 3228 of file erregxml.c.
03229 { 03230 ERREG_LOGPRINTF("entry"); 03231 g_assert(theNetworkConfig); 03232 g_assert(theNetworks); 03233 g_assert(pRegistry); 03234 03235 gboolean bRet = TRUE; // TRUE = ok 03236 gboolean b; 03237 int i; 03238 03239 // remove the ones 03240 regRemoveNetworkConfig(pRegistry); 03241 // set the new ones 03242 regSetNetworkConfig(theNetworkConfig, pRegistry); 03243 for (i = 0; i < theNetworkConfig->size; i++) 03244 { 03245 b = regSetNetworkProfile(theNetworkConfig->networkList[i], theNetworks[i], pRegistry); 03246 if (FALSE == b) 03247 { 03248 bRet = FALSE; 03249 } 03250 } 03251 03252 if (bRet) 03253 { 03254 pRegistry->changed = TRUE; 03255 } 03256 return TRUE; 03257 }
gboolean regSetPCConfig | ( | const regPCConfig_t * | thePCConfig, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 759 of file erregxml.c.
00760 { 00761 ERREG_LOGPRINTF("entry %p %p", thePCConfig, pRegistry); 00762 g_assert(thePCConfig); 00763 g_assert(pRegistry); 00764 g_assert(pRegistry->xpaths); 00765 g_assert(pRegistry->xpaths->pcProfile); 00766 00767 regDumpPCConfig(thePCConfig); 00768 00769 char xpath[BUF_LEN + 1]; 00770 int nLen, i, nProfiles, nRet; 00771 00772 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 00773 00774 nProfiles = thePCConfig->size; 00775 for (i = 1; i <= nProfiles; i++) 00776 { 00777 nLen = g_snprintf(xpath, BUF_LEN, "%s[%d]", pRegistry->xpaths->pcProfile, i); 00778 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 00779 if (RET_OK == nRet) 00780 { 00781 nRet = ermXmlSetAttributeString(pXmlCxt, xpath, ATTR_PROFILE_ID, 00782 thePCConfig->pcList[i - 1], strlen(thePCConfig->pcList[i - 1])); 00783 } 00784 if (RET_ERR == nRet) 00785 { 00786 return FALSE; 00787 } 00788 } 00789 00790 pRegistry->changed = TRUE; 00791 return TRUE; 00792 }
gboolean regSetPCProfile | ( | const char * | ID, | |
const regPCProfile_t * | thePCProfile, | |||
regRegistry_t * | pRegistry | |||
) |
Definition at line 888 of file erregxml.c.
00889 { 00890 ERREG_LOGPRINTF("entry %s %p %p", ID, thePCProfile, pRegistry); 00891 g_assert(ID); 00892 g_assert(thePCProfile); 00893 g_assert(pRegistry); 00894 g_assert(pRegistry->xpaths); 00895 g_assert(pRegistry->xpaths->pcProfile); 00896 00897 regDumpPCProfile(ID, thePCProfile); 00898 00899 char xpath[BUF_LEN + 1], xpathExt[BUF_LEN + 1]; 00900 int nLen, nRet; 00901 00902 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 00903 00904 // check if relevant values are present before adding them to the registry file 00905 if ((thePCProfile->pcname == NULL) || (thePCProfile->sharename == NULL)) 00906 { 00907 ERREG_WARNPRINTF("Some fields in thePCProfile shouldn't containis NULL."); 00908 return FALSE; 00909 } 00910 00911 // xpath 00912 nLen = g_snprintf(xpath, BUF_LEN, "%s[@%s=\"%s\"]", pRegistry->xpaths->pcProfile, ATTR_PROFILE_ID, ID); 00913 00914 // profile name 00915 if (thePCProfile->name) 00916 { 00917 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_PROFILE_NAME); 00918 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 00919 if (RET_OK == nRet) 00920 { 00921 nRet = ermXmlSetString(pXmlCxt, xpathExt, thePCProfile->name); 00922 } 00923 if (RET_ERR == nRet) 00924 { 00925 return FALSE; 00926 } 00927 } 00928 00929 // pcname 00930 if (thePCProfile->pcname) 00931 { 00932 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_PC_NAME); 00933 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 00934 if (RET_OK == nRet) 00935 { 00936 nRet = ermXmlSetString(pXmlCxt, xpathExt, thePCProfile->pcname); 00937 } 00938 if (RET_ERR == nRet) 00939 { 00940 return FALSE; 00941 } 00942 } 00943 00944 // sharename 00945 if (thePCProfile->sharename) 00946 { 00947 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_SHARE_NAME); 00948 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 00949 if (RET_OK == nRet) 00950 { 00951 nRet = ermXmlSetString(pXmlCxt, xpathExt, thePCProfile->sharename); 00952 } 00953 if (RET_ERR == nRet) 00954 { 00955 return FALSE; 00956 } 00957 } 00958 00959 // workgroup 00960 if (thePCProfile->workgroup) 00961 { 00962 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_WORKGROUP); 00963 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 00964 if (RET_OK == nRet) 00965 { 00966 nRet = ermXmlSetString(pXmlCxt, xpathExt, thePCProfile->workgroup); 00967 } 00968 if (RET_ERR == nRet) 00969 { 00970 return FALSE; 00971 } 00972 } 00973 00974 // username 00975 if (thePCProfile->username) 00976 { 00977 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_USER_NAME); 00978 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 00979 if (RET_OK == nRet) 00980 { 00981 nRet = ermXmlSetString(pXmlCxt, xpathExt, thePCProfile->username); 00982 } 00983 if (RET_ERR == nRet) 00984 { 00985 return FALSE; 00986 } 00987 } 00988 00989 // password 00990 if (thePCProfile->password) 00991 { 00992 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_PASSWORD); 00993 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 00994 if (RET_OK == nRet) 00995 { 00996 nRet = ermXmlSetString(pXmlCxt, xpathExt, thePCProfile->password); 00997 } 00998 if (RET_ERR == nRet) 00999 { 01000 return FALSE; 01001 } 01002 } 01003 01004 pRegistry->changed = TRUE; 01005 return TRUE; 01006 }
gboolean regSetPCProfiles | ( | const regPCConfig_t * | pPCConfig, | |
const regPCProfile_t ** | pPCs, | |||
regRegistry_t * | pRegistry | |||
) |
Definition at line 1094 of file erregxml.c.
01095 { 01096 ERREG_LOGPRINTF("entry"); 01097 g_assert(thePCConfig); 01098 g_assert(thePCs); 01099 g_assert(pRegistry); 01100 01101 gboolean bRet = TRUE; // TRUE = ok 01102 gboolean b; 01103 int i; 01104 01105 // remove the ones 01106 regRemovePCConfig(pRegistry); 01107 01108 // set the new ones 01109 regSetPCConfig(thePCConfig, pRegistry); 01110 for (i = 0; i < thePCConfig->size; i++) 01111 { 01112 b = regSetPCProfile(thePCConfig->pcList[i], thePCs[i], pRegistry); 01113 if (FALSE == b) 01114 { 01115 bRet = FALSE; 01116 } 01117 } 01118 01119 if (bRet) 01120 { 01121 pRegistry->changed = TRUE; 01122 } 01123 return bRet; 01124 }
gboolean regSetStartUp | ( | const regStartUp_t * | theStartUp, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 2232 of file erregxml.c.
02233 { 02234 ERREG_LOGPRINTF("entry %p %p", theStartUp, pRegistry); 02235 g_assert(theStartUp); 02236 g_assert(pRegistry); 02237 g_assert(pRegistry->xpaths); 02238 g_assert(pRegistry->xpaths->startup); 02239 02240 regDumpStartUp(theStartUp); 02241 02242 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 02243 int nLen, nRet = RET_OK; 02244 02245 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 02246 02247 // behaviour 02248 if ((theStartUp->behaviour >=0) && (theStartUp->behaviour < behaviourUndefined_t)) 02249 { 02250 regBehaviourToString(theStartUp->behaviour, szTmp, BUF_LEN); 02251 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->startup, EL_BEHAVIOUR); 02252 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 02253 if (RET_OK == nRet) 02254 { 02255 nRet = ermXmlSetString(pXmlCxt, xpath, szTmp); 02256 } 02257 if (RET_ERR == nRet) 02258 { 02259 return FALSE; 02260 } 02261 } 02262 02263 // documentPath 02264 if (theStartUp->documentPath) 02265 { 02266 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->startup, EL_DOCUMENT_PATH); 02267 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 02268 if (RET_OK == nRet) 02269 { 02270 nRet = ermXmlSetString(pXmlCxt, xpath, theStartUp->documentPath); 02271 } 02272 if (RET_ERR == nRet) 02273 { 02274 return FALSE; 02275 } 02276 } 02277 02278 pRegistry->changed = TRUE; 02279 return TRUE; 02280 }
gboolean regSetTimedIds | ( | regTimedIds_t * | theTimedIds, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 1357 of file erregxml.c.
01358 { 01359 ERREG_LOGPRINTF("entry %p %p", theTimedIds, pRegistry); 01360 g_assert(theTimedIds); 01361 g_assert(pRegistry); 01362 g_assert(pRegistry->xpaths); 01363 g_assert(pRegistry->xpaths->autoConnect); 01364 01365 regDumpTimedIds(theTimedIds); 01366 01367 char xpath[BUF_LEN + 1], szTmp[BUF_LEN + 1]; 01368 01369 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01370 01371 // Enable timed-iDS connection or not 01372 g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->autoConnect, EL_TIMED_IDS, EL_ENABLE_TIMEDIDS); 01373 if (RET_ERR == ermXmlCheckXpath(pXmlCxt, xpath)) 01374 { 01375 return FALSE; 01376 } 01377 if (RET_ERR == ermXmlSetBoolean(pXmlCxt, xpath, theTimedIds->enable)) 01378 { 01379 return FALSE; 01380 } 01381 01382 // Time set 01383 // Sort 01384 qsort(theTimedIds->timeSet, theTimedIds->timeCnt, sizeof(int), lt); 01385 // Remove duplicate items 01386 rmDup(theTimedIds->timeSet, &theTimedIds->timeCnt); 01387 01388 // Remove existing time set first 01389 regRemoveTimeSet(pRegistry); 01390 01391 int i, hh, mm, ss; 01392 for (i=0; i<theTimedIds->timeCnt; i++) 01393 { 01394 g_snprintf(xpath, BUF_LEN, "%s/%s/%s/%s[%d]", pRegistry->xpaths->autoConnect, EL_TIMED_IDS, EL_TIMESET, EL_TIME, i+1); 01395 01396 if (RET_ERR == ermXmlCheckXpath(pXmlCxt, xpath)) 01397 { 01398 return FALSE; 01399 } 01400 01401 hh = theTimedIds->timeSet[i] / 3600; 01402 mm = theTimedIds->timeSet[i] / 60 % 60; 01403 ss = theTimedIds->timeSet[i] % 60; 01404 snprintf(szTmp, BUF_LEN, "%02d:%02d:%02d", hh, mm, ss); 01405 01406 if (RET_ERR == ermXmlSetString(pXmlCxt, xpath, szTmp)) 01407 { 01408 return FALSE; 01409 } 01410 } 01411 01412 // Enable software updates while connected to iDS 01413 g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->autoConnect, EL_TIMED_IDS, EL_ENABLE_SWUPDATE); 01414 if (RET_ERR == ermXmlCheckXpath(pXmlCxt, xpath)) 01415 { 01416 return FALSE; 01417 } 01418 if (RET_ERR == ermXmlSetBoolean(pXmlCxt, xpath, theTimedIds->swUpdate)) 01419 { 01420 return FALSE; 01421 } 01422 01423 // Switch off iLiad after waking iLiad up 01424 g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->autoConnect, EL_TIMED_IDS, EL_ENABLE_SWITCHOFF); 01425 if (RET_ERR == ermXmlCheckXpath(pXmlCxt, xpath)) 01426 { 01427 return FALSE; 01428 } 01429 if (RET_ERR == ermXmlSetBoolean(pXmlCxt, xpath, theTimedIds->switchOff)) 01430 { 01431 return FALSE; 01432 } 01433 01434 pRegistry->changed = TRUE; 01435 return TRUE; 01436 }
gboolean regSetUserApp | ( | const char * | uaID, | |
const regUserApp_t * | theUserApp, | |||
regRegistry_t * | pRegistry | |||
) |
Definition at line 1917 of file erregxml.c.
01918 { 01919 ERREG_LOGPRINTF("entry %s %p %p", uaID, theUserApp, pRegistry); 01920 g_assert(uaID); 01921 g_assert(theUserApp); 01922 g_assert(pRegistry); 01923 g_assert(pRegistry->xpaths); 01924 g_assert(pRegistry->xpaths->application); 01925 01926 regDumpUserApp(uaID, theUserApp); 01927 01928 char xpath[BUF_LEN + 1], xpathExt[BUF_LEN + 1]; 01929 int nLen, nRet; 01930 01931 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 01932 01933 nLen = g_snprintf(xpath, BUF_LEN, "%s[@%s=\"%s\"]", pRegistry->xpaths->application, ATTR_TYPE, uaID); 01934 01935 // appCategory 01936 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_APP_CATEGORY); 01937 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 01938 if (RET_OK == nRet) 01939 { 01940 nRet = ermXmlSetString(pXmlCxt, xpathExt, theUserApp->szCategory); 01941 } 01942 if (RET_ERR == nRet) 01943 { 01944 return FALSE; 01945 } 01946 01947 // szArgMask 01948 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_ARG_MASK); 01949 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 01950 if (RET_OK == nRet) 01951 { 01952 nRet = ermXmlSetString(pXmlCxt, xpathExt, theUserApp->szArgMask); 01953 } 01954 if (RET_ERR == nRet) 01955 { 01956 return FALSE; 01957 } 01958 01959 // szExec 01960 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_EXECUTE); 01961 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 01962 if (RET_OK == nRet) 01963 { 01964 nRet = ermXmlSetString(pXmlCxt, xpathExt, theUserApp->szExec); 01965 } 01966 if (RET_ERR == nRet) 01967 { 01968 return FALSE; 01969 } 01970 01971 // xResName 01972 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_X_RES_NAME); 01973 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 01974 if (RET_OK == nRet) 01975 { 01976 nRet = ermXmlSetString(pXmlCxt, xpathExt, theUserApp->xResName); 01977 } 01978 if (RET_ERR == nRet) 01979 { 01980 return FALSE; 01981 } 01982 01983 // ipcChannel 01984 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_IPC_CHANNEL); 01985 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 01986 if (RET_OK == nRet) 01987 { 01988 nRet = ermXmlSetInt(pXmlCxt, xpathExt, theUserApp->ipcChannel); 01989 } 01990 if (RET_ERR == nRet) 01991 { 01992 return FALSE; 01993 } 01994 01995 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s", xpath, EL_APP_ICON_PATH); 01996 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 01997 if (RET_OK == nRet) 01998 { 01999 nRet = ermXmlSetString(pXmlCxt, xpathExt, theUserApp->appIconPath); 02000 } 02001 if (RET_ERR == nRet) 02002 { 02003 return FALSE; 02004 } 02005 02006 // supportFormat 02007 if (theUserApp->extensionArray && theUserApp->extensionArraySize) 02008 { 02009 int i; 02010 02011 for (i = 1; i <= theUserApp->extensionArraySize; i++) 02012 { 02013 nLen = g_snprintf(xpathExt, BUF_LEN, "%s/%s/%s[%d]", xpath, EL_SUPPORT_FORMAT, EL_EXT_NAME, i); 02014 if (theUserApp->extensionArray[i - 1]) 02015 { 02016 nRet = ermXmlCheckXpath(pXmlCxt, xpathExt); 02017 if (RET_OK == nRet) 02018 { 02019 nRet = ermXmlSetString(pXmlCxt, xpathExt, theUserApp->extensionArray[i - 1]); 02020 } 02021 if (RET_ERR == nRet) 02022 { 02023 return FALSE; 02024 } 02025 } //if (theUserApp->extensionArray[i - 1]) 02026 } // for (i...) 02027 } // if (theUserApp->extensionArray ...) 02028 02029 pRegistry->changed = TRUE; 02030 return TRUE; 02031 }
gboolean regSetUserProfile | ( | const regUserProfile_t * | theUserProfile, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 398 of file erregxml.c.
00399 { 00400 ERREG_LOGPRINTF("entry %p %p", theUserProfile, pRegistry); 00401 g_assert(theUserProfile); 00402 g_assert(pRegistry); 00403 g_assert(pRegistry->xpaths); 00404 g_assert(pRegistry->xpaths->userProfile); 00405 00406 regDumpUserProfile(theUserProfile); 00407 00408 char xpath[BUF_LEN + 1]; 00409 int nLen, nRet = RET_OK; 00410 00411 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 00412 00413 // name 00414 if (theUserProfile->name) 00415 { 00416 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->userProfile, EL_NAME); 00417 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 00418 if (RET_OK == nRet) 00419 { 00420 nRet = ermXmlSetString(pXmlCxt, xpath, theUserProfile->name); 00421 } 00422 if (RET_ERR == nRet) 00423 { 00424 return FALSE; 00425 } 00426 } 00427 00428 // email 00429 if (theUserProfile->email) 00430 { 00431 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->userProfile, EL_EMAIL); 00432 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 00433 if (RET_OK == nRet) 00434 { 00435 nRet = ermXmlSetString(pXmlCxt, xpath, theUserProfile->email); 00436 } 00437 if (RET_ERR == nRet) 00438 { 00439 return FALSE; 00440 } 00441 } 00442 00443 // password 00444 if (theUserProfile->password) 00445 { 00446 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->userProfile, EL_PASSWORD); 00447 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 00448 if (RET_OK == nRet) 00449 { 00450 nRet = ermXmlSetString(pXmlCxt, xpath, theUserProfile->password); 00451 } 00452 if (RET_ERR == nRet) 00453 { 00454 return FALSE; 00455 } 00456 } 00457 00458 // redirectUrl 00459 if (theUserProfile->redirectUrl) 00460 { 00461 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->userProfile, EL_REDIRECT_URL); 00462 nRet == ermXmlCheckXpath(pXmlCxt, xpath); 00463 if (RET_OK == nRet) 00464 { 00465 nRet = ermXmlSetString(pXmlCxt, xpath, theUserProfile->redirectUrl); 00466 } 00467 if (RET_ERR == nRet) 00468 { 00469 return FALSE; 00470 } 00471 } 00472 00473 pRegistry->changed = TRUE; 00474 return TRUE; 00475 }
gboolean regSetUserSetting | ( | const regUserSetting_t * | theUserSetting, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 591 of file erregxml.c.
00592 { 00593 ERREG_LOGPRINTF("entry %p %p", theUserSetting, pRegistry); 00594 g_assert(theUserSetting); 00595 g_assert(pRegistry); 00596 g_assert(pRegistry->xpaths); 00597 g_assert(pRegistry->xpaths->userSetting); 00598 00599 regDumpUserSetting(theUserSetting); 00600 00601 char xpath[BUF_LEN + 1]; 00602 int nLen, nRet; 00603 gboolean bEnable; 00604 00605 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 00606 00607 // language 00608 if (theUserSetting->language) 00609 { 00610 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->userSetting, EL_LANGUAGE); 00611 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 00612 if (RET_OK == nRet) 00613 { 00614 nRet = ermXmlSetString(pXmlCxt, xpath, theUserSetting->language); 00615 } 00616 if (RET_ERR == nRet) 00617 { 00618 return FALSE; 00619 } 00620 } 00621 00622 // sound 00623 if (theUserSetting->volume) 00624 { 00625 bEnable = TRUE; 00626 } 00627 else 00628 { 00629 bEnable = FALSE; 00630 } 00631 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->userSetting, EL_SOUND, EL_ENABLE); 00632 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 00633 if (RET_OK == nRet) 00634 { 00635 nRet = ermXmlSetBoolean(pXmlCxt, xpath, bEnable); 00636 } 00637 if (RET_ERR == nRet) 00638 { 00639 return FALSE; 00640 } 00641 00642 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->userSetting, EL_SOUND, EL_VOLUME); 00643 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 00644 if (RET_OK == nRet) 00645 { 00646 nRet = ermXmlSetInt(pXmlCxt, xpath, theUserSetting->volume); 00647 } 00648 if (RET_ERR == nRet) 00649 { 00650 return FALSE; 00651 } 00652 00653 // key buffering 00654 if (theUserSetting->keyBuffering) 00655 { 00656 bEnable = TRUE; 00657 } 00658 else 00659 { 00660 bEnable = FALSE; 00661 } 00662 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->userSetting, EL_KEY_BUFFERING, EL_ENABLE); 00663 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 00664 if (RET_OK == nRet) 00665 { 00666 nRet = ermXmlSetBoolean(pXmlCxt, xpath, bEnable); 00667 } 00668 if (RET_ERR == nRet) 00669 { 00670 return FALSE; 00671 } 00672 00673 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s/%s", pRegistry->xpaths->userSetting, 00674 EL_KEY_BUFFERING, EL_NUMBER_OF_KEYS); 00675 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 00676 if (RET_OK == nRet) 00677 { 00678 nRet = ermXmlSetInt(pXmlCxt, xpath, theUserSetting->keyBuffering); 00679 } 00680 if (RET_ERR == nRet) 00681 { 00682 return FALSE; 00683 } 00684 00685 // longkeypresstimeout 00686 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->userSetting, EL_LONG_KP_TIMEOUT); 00687 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 00688 if (RET_OK == nRet) 00689 { 00690 nRet = ermXmlSetInt(pXmlCxt, xpath, theUserSetting->longkeypressTimeout); 00691 } 00692 if (RET_ERR == nRet) 00693 { 00694 return FALSE; 00695 } 00696 00697 // flipbarLeftIsDown 00698 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->userSetting, EL_FLIPBAR_DIRECTION); 00699 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 00700 if (RET_OK == nRet) 00701 { 00702 nRet = ermXmlSetBoolean(pXmlCxt, xpath, theUserSetting->flipbarLeftIsDown); 00703 } 00704 if (RET_ERR == nRet) 00705 { 00706 return FALSE; 00707 } 00708 00709 pRegistry->changed = TRUE; 00710 return TRUE; 00711 }
gboolean regSetVersion | ( | const regVersion_t * | theVersion, | |
regRegistry_t * | pRegistry | |||
) |
Definition at line 289 of file erregxml.c.
00290 { 00291 ERREG_LOGPRINTF("entry %p %p", theVersion, pRegistry); 00292 g_assert(theVersion); 00293 g_assert(pRegistry); 00294 g_assert(pRegistry->xpaths); 00295 g_assert(pRegistry->xpaths->version); 00296 00297 regDumpVersion(theVersion); 00298 00299 if (theVersion->registry) 00300 { 00301 char xpath[BUF_LEN + 1]; 00302 int nLen, nRet; 00303 00304 erManifest *pXmlCxt = &(pRegistry->xmlCxt); 00305 00306 nLen = g_snprintf(xpath, BUF_LEN, "%s/%s", pRegistry->xpaths->version, EL_REGISTRY); 00307 nRet = ermXmlCheckXpath(pXmlCxt, xpath); 00308 if (RET_OK == nRet) 00309 { 00310 nRet = ermXmlSetString(pXmlCxt, xpath, theVersion->registry); 00311 } 00312 if (RET_ERR == nRet) 00313 { 00314 return FALSE; 00315 } 00316 } 00317 00318 pRegistry->changed = TRUE; 00319 return TRUE; 00320 }
gboolean regStore | ( | regRegistry_t * | pRegistry, | |
const char * | szFilename | |||
) |
Definition at line 166 of file erregxml.c.
00167 { 00168 00169 ERREG_LOGPRINTF("entry: szPath [%s]", szPath); 00170 g_assert(pRegistry); 00171 g_assert(szPath); 00172 00173 gboolean bRet = FALSE; // FALSE = error 00174 int rc; 00175 int n; 00176 char szDirPath[BUF_LEN]; 00177 gchar *szPath_old = g_strdup_printf("%s.old", szPath); 00178 gchar *szPath_new = g_strdup_printf("%s.new", szPath); 00179 00180 // save registry only when it has been changed and validates correctly 00181 if (pRegistry->changed) 00182 { 00183 if ( regValidate(pRegistry) ) 00184 { 00185 // create registry directory when needed 00186 n = readlink(REG_DIR, szDirPath, sizeof(szDirPath)); 00187 if (n > 0 && n < sizeof(szDirPath)) 00188 { 00189 // REG_DIR is a symbolic link -> use the target it points to 00190 szDirPath[n] = '\0'; 00191 } 00192 else 00193 { 00194 snprintf(szDirPath, sizeof(szDirPath), "%s", REG_DIR); 00195 } 00196 // note: ignore error code, probably reports "directory exists" 00197 mkdir(szDirPath, 0755); 00198 00199 // move current file to .old, if any 00200 rename(szPath, szPath_old); 00201 00202 // save to .new 00203 rc = ermXmlSaveAs(&pRegistry->xmlCxt, szPath_new); 00204 if (RET_OK == rc) 00205 { 00206 // saved ok: rename .new to current 00207 rc = rename(szPath_new, szPath); 00208 if (0 == rc) 00209 { 00210 // registry saved alright 00211 pRegistry->changed = FALSE; 00212 bRet = TRUE; // TRUE = ok 00213 } 00214 } 00215 else 00216 { 00217 // save error: discard .new 00218 ERREG_ERRORPRINTF("Registry section [%d] save error [%s]", pRegistry->section, szPath_new); 00219 unlink(szPath_new); 00220 } 00221 } 00222 else 00223 { 00224 ERREG_ERRORPRINTF("Registry section [%d] validation error", pRegistry->section); 00225 } 00226 } 00227 else 00228 { 00229 ERREG_WARNPRINTF("Registry section [%d] not saved because no changes", pRegistry->section); 00230 bRet = TRUE; // TRUE = ok 00231 } 00232 00233 g_free(szPath_new); 00234 g_free(szPath_old); 00235 ERREG_LOGPRINTF("leave: bRet [%d]", bRet); 00236 return bRet; 00237 }
gboolean regValidate | ( | regRegistry_t * | pRegistry | ) |
Definition at line 53 of file erregxml.c.
00054 { 00055 ERREG_LOGPRINTF("entry"); 00056 g_assert(pRegistry); 00057 g_assert(pRegistry->xmlCxt.pDoc); 00058 00059 gboolean bRet; 00060 00061 bRet = xsdValidateXmlDoc(&pRegistry->xsdCxt, pRegistry->xmlCxt.pDoc); 00062 if (bRet) 00063 { 00064 ERREG_LOGPRINTF("Validation succeeded, filename [%s]", pRegistry->xmlCxt.szFileName); 00065 } 00066 else 00067 { 00068 ERREG_ERRORPRINTF("Validation failed, filename [%s]", pRegistry->xmlCxt.szFileName); 00069 } 00070 00071 return bRet; 00072 }