00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00026 #include <stdio.h>
00027 #include <stdlib.h>
00028 #include <string.h>
00029
00030 #include <glib.h>
00031
00032 #include "erreglog.h"
00033 #include "erreg.h"
00034 #include "erregbasis.h"
00035 #include "erregnwprofiles.h"
00036 #include "erregrwlock.h"
00037 #include "erregtoolbar.h"
00038 #include "erregtypes_f.h"
00039
00040
00041
00042 static regRegistry_t *g_registry[regUndefined_t];
00043
00044
00046
00047
00048
00050
00051 regLoad_t erRegLoad(regSection_t section)
00052 {
00053 ERREG_LOGPRINTF("entry: section [%d]", section);
00054
00055 g_assert(section >= 0 && section <= regUndefined_t);
00056 g_assert(g_registry[section] == NULL);
00057
00058
00059 lock_state_t lock_state = erRegGetLockState();
00060 g_assert(lock_state == lock_read || lock_state == lock_write);
00061
00062 regLoad_t ret = loadError_t;
00063 regRegistry_t** ppRegistry = &g_registry[section];
00064
00065 switch (section)
00066 {
00067 case regBasis_t:
00068 ret = basisRegLoad(ppRegistry);
00069 break;
00070
00071 case regToolbar_t:
00072 ret = tbRegLoad(ppRegistry);
00073 break;
00074
00075 case regNWProfiles_t:
00076 ret = nwRegLoad(ppRegistry);
00077 break;
00078
00079 default:
00080 ERREG_LOGPRINTF("Invalid section [%d].", section);
00081 }
00082 if (*ppRegistry)
00083 {
00084 (*ppRegistry)->section = section;
00085 }
00086
00087 return ret;
00088 }
00089
00090
00091 void erRegUnload(regSection_t section)
00092 {
00093 ERREG_LOGPRINTF("entry: section [%d]", section);
00094
00095 g_assert(section >= 0 && section < regUndefined_t);
00096 g_assert(g_registry[section] != NULL);
00097
00098 switch (section)
00099 {
00100 case regBasis_t:
00101 basisRegUnload(g_registry[regBasis_t]);
00102 g_registry[regBasis_t] = NULL;
00103 break;
00104
00105 case regToolbar_t:
00106 tbRegUnload(g_registry[regToolbar_t]);
00107 g_registry[regToolbar_t] = NULL;
00108 break;
00109
00110 case regNWProfiles_t:
00111 nwRegUnload(g_registry[regNWProfiles_t]);
00112 g_registry[regNWProfiles_t] = NULL;
00113 break;
00114
00115 default:
00116 ERREG_LOGPRINTF("Invalid section [%d].", section);
00117 }
00118 }
00119
00120
00121 gboolean erRegStore(void)
00122 {
00123 ERREG_LOGPRINTF("entry");
00124
00125
00126 g_assert(erRegGetLockState() == lock_write);
00127
00128 gboolean bRet = TRUE;
00129 gboolean b;
00130 regRegistry_t *reg;
00131
00132
00133 reg = g_registry[regBasis_t];
00134 if (reg)
00135 {
00136 b = basisRegStore(reg);
00137 if (b == FALSE)
00138 {
00139 bRet = FALSE;
00140 }
00141 }
00142
00143
00144
00145
00146 reg = g_registry[regNWProfiles_t];
00147 if (reg)
00148 {
00149 b = nwRegStore(reg);
00150 if (b == FALSE)
00151 {
00152 bRet = FALSE;
00153 }
00154 }
00155
00156 ERREG_LOGPRINTF("leave: bRet [%d]", bRet);
00157 return bRet;
00158 }
00159
00160
00161 gboolean erRegValidate(void)
00162 {
00163 ERREG_LOGPRINTF("entry");
00164
00165 gboolean bRet = TRUE;
00166 gboolean b;
00167 regRegistry_t *reg;
00168
00169
00170 reg = g_registry[regBasis_t];
00171 if (reg)
00172 {
00173 b = regValidate(reg);
00174 if (b == FALSE)
00175 {
00176 bRet = FALSE;
00177 }
00178 }
00179
00180
00181
00182
00183 reg = g_registry[regNWProfiles_t];
00184 if (reg)
00185 {
00186 b = regValidate(reg);
00187 if (b == FALSE)
00188 {
00189 bRet = FALSE;
00190 }
00191 }
00192
00193 ERREG_LOGPRINTF("leave: bRet [%d]", bRet);
00194 return bRet;
00195 }
00196
00197
00199
00200
00201
00203
00204 #define registry g_registry[regBasis_t]
00205
00206 regVersion_t *erRegGetVersion(void)
00207 {
00208 g_assert(registry);
00209
00210 return regGetVersion(registry);
00211 }
00212
00213 gboolean erRegSetVersion(const regVersion_t *theVersion)
00214 {
00215 g_assert(registry);
00216
00217 return regSetVersion(theVersion, registry);
00218 }
00219
00220 void erRegFreeVersion(regVersion_t *theVersion)
00221 {
00222 regFreeVersion(theVersion);
00223 }
00224
00225
00226 regUserProfile_t *erRegGetUserProfile(void)
00227 {
00228 g_assert(registry);
00229
00230 return regGetUserProfile(registry);
00231 }
00232
00233 gboolean erRegSetUserProfile(const regUserProfile_t *theUserProfile)
00234 {
00235 g_assert(registry);
00236
00237 return regSetUserProfile(theUserProfile, registry);
00238 }
00239
00240 void erRegFreeUserProfile(regUserProfile_t *theUserProfile)
00241 {
00242 regFreeUserProfile(theUserProfile);
00243 }
00244
00245
00246 regUserSetting_t *erRegGetUserSetting(void)
00247 {
00248 g_assert(registry);
00249
00250 return regGetUserSetting(registry);
00251 }
00252
00253 gboolean erRegSetUserSetting(const regUserSetting_t *theUserSetting)
00254 {
00255 g_assert(registry);
00256
00257 return regSetUserSetting(theUserSetting, registry);
00258 }
00259
00260 void erRegFreeUserSetting(regUserSetting_t *theUserSetting)
00261 {
00262 regFreeUserSetting(theUserSetting);
00263 }
00264
00265 regPCConfig_t *erRegGetPCConfig(void)
00266 {
00267 g_assert(registry);
00268
00269 return regGetPCConfig(registry);
00270 }
00271
00272 regPCProfile_t *erRegGetPCProfile(const char *ID)
00273 {
00274 g_assert(registry);
00275
00276 return regGetPCProfile(ID, registry);
00277 }
00278
00279 regPCProfile_t *erRegDupPCProfile(const regPCProfile_t *thePCProfile)
00280 {
00281 return regDupPCProfile(thePCProfile);
00282 }
00283
00284 gboolean erRegSetPCConfig(const regPCConfig_t *thePCConfig)
00285 {
00286 g_assert(registry);
00287
00288 return regSetPCConfig(thePCConfig, registry);
00289 }
00290
00291 gboolean erRegSetPCProfile(const char *ID, const regPCProfile_t *thePCProfile)
00292 {
00293 g_assert(registry);
00294
00295 return regSetPCProfile(ID, thePCProfile, registry);
00296 }
00297
00298 gboolean erRegRemovePCConfig(void)
00299 {
00300 g_assert(registry);
00301
00302 return regRemovePCConfig(registry);
00303 }
00304
00305 gboolean erRegRemovePCProfile(const char *ID)
00306 {
00307 g_assert(registry);
00308
00309 return regRemovePCProfile(ID, registry);
00310 }
00311
00312 void erRegFreePCConfig(regPCConfig_t *thePCConfig)
00313 {
00314 regFreePCConfig(thePCConfig);
00315 }
00316
00317 void erRegFreePCProfile(regPCProfile_t *thePCProfile)
00318 {
00319 regFreePCProfile(thePCProfile);
00320 }
00321
00322 void erRegGetPCProfiles(regPCConfig_t **pPCConfig, regPCProfile_t ***pPCs)
00323 {
00324 g_assert(registry);
00325
00326 regGetPCProfiles(pPCConfig, pPCs, registry);
00327 }
00328
00329 gboolean erRegSetPCProfiles(const regPCConfig_t *pPCConfig, const regPCProfile_t **pPCs)
00330 {
00331 g_assert(registry);
00332
00333 return regSetPCProfiles(pPCConfig, pPCs, registry);
00334 }
00335
00336 void erRegFreePCProfiles(regPCConfig_t *thePCConfig, regPCProfile_t **thePCs)
00337 {
00338 regFreePCProfiles(thePCConfig, thePCs);
00339 }
00340
00341
00342 regAutoConnect_t *erRegGetAutoConnect(void)
00343 {
00344 g_assert(registry);
00345
00346 return regGetAutoConnect(registry);
00347 }
00348
00349 gboolean erRegSetAutoConnect(regAutoConnect_t *theAutoConnect)
00350 {
00351 g_assert(registry);
00352
00353 return regSetAutoConnect(theAutoConnect, registry);
00354 }
00355
00356 void erRegFreeAutoConnect(regAutoConnect_t *theAutoConnect)
00357 {
00358 regFreeAutoConnect(theAutoConnect);
00359 }
00360
00361
00362 regTimedIds_t *erRegGetTimedIds(void)
00363 {
00364 g_assert(registry);
00365
00366 return regGetTimedIds(registry);
00367 }
00368
00369 gboolean erRegSetTimedIds(regTimedIds_t *theTimedIds)
00370 {
00371 g_assert(registry);
00372
00373 return regSetTimedIds(theTimedIds, registry);
00374 }
00375
00376 void erRegFreeTimedIds(regTimedIds_t *theTimedIds)
00377 {
00378 regFreeTimedIds(theTimedIds);
00379 }
00380
00381
00382 regContentCategory_t *erRegGetContentCategory(char *ID)
00383 {
00384 g_assert(registry);
00385
00386 return regGetContentCategory(ID, registry);
00387 }
00388
00389 gboolean erRegSetContentCategory(char *ID, regContentCategory_t *theContentCategory)
00390 {
00391 g_assert(registry);
00392
00393 return regSetContentCategory(ID, theContentCategory, registry);
00394 }
00395
00396 void erRegFreeContentCategory(regContentCategory_t *theContentCategory)
00397 {
00398 regFreeContentCategory(theContentCategory);
00399 }
00400
00401
00402 regExportMemType_t *erRegGetExportMemType()
00403 {
00404 g_assert(registry);
00405
00406 return regGetExportMemType(registry);
00407 }
00408
00409 gboolean erRegSetExportMemType(regExportMemType_t *theExportMemType)
00410 {
00411 g_assert(registry);
00412
00413 return regSetExportMemType(theExportMemType, registry);
00414 }
00415
00416 void erRegFreeExportMemType(regExportMemType_t *theExportMemType)
00417 {
00418 regFreeExportMemType(theExportMemType);
00419 }
00420
00421
00422 regLastRead_t *erRegGetLastRead(char *ID)
00423 {
00424 g_assert(registry);
00425
00426 return regGetLastRead(ID, registry);
00427 }
00428
00429 gboolean erRegSetLastRead(char *ID, regLastRead_t *theLastRead)
00430 {
00431 g_assert(registry);
00432
00433 return regSetLastRead(ID, theLastRead, registry);
00434 }
00435
00436 void erRegFreeLastRead(regLastRead_t *theLastRead)
00437 {
00438 regFreeLastRead(theLastRead);
00439 }
00440
00441
00442 regUserAppList_t *erRegGetUserAppList(void)
00443 {
00444 g_assert(registry);
00445
00446 return regGetUserAppList(registry);
00447 }
00448
00449
00450
00451 void erRegFreeUserAppList(regUserAppList_t *theUserAppList)
00452 {
00453 regFreeUserAppList(theUserAppList);
00454 }
00455
00456
00457 regUserApp_t *erRegGetUserApp(char *uaID)
00458 {
00459 g_assert(registry);
00460
00461 return regGetUserApp(uaID, registry);
00462 }
00463
00464 gboolean erRegSetUserApp(char *uaID, regUserApp_t *theUserApp)
00465 {
00466 g_assert(registry);
00467
00468 return regSetUserApp(uaID, theUserApp, registry);
00469 }
00470
00471 void erRegFreeUserApp(regUserApp_t *theUserApp)
00472 {
00473 regFreeUserApp(theUserApp);
00474 }
00475
00476 regExtInfoList_t *erRegGetExtInfoList(const char *extension)
00477 {
00478 g_assert(registry);
00479
00480 return regGetExtInfoList(extension, registry);
00481 }
00482
00492 void erRegFreeExtInfoList(regExtInfoList_t *theExtInfoList)
00493 {
00494 regFreeExtInfoList(theExtInfoList);
00495 }
00496
00497 regStartUp_t *erRegGetStartUp(void)
00498 {
00499 g_assert(registry);
00500
00501 return regGetStartUp(registry);
00502 }
00503
00504 gboolean erRegSetStartUp(regStartUp_t* theStartUp)
00505 {
00506 g_assert(registry);
00507
00508 return regSetStartUp(theStartUp, registry);
00509 }
00510
00511 void erRegFreeStartUp(regStartUp_t *theStartUp)
00512 {
00513 regFreeStartUp(theStartUp);
00514 }
00515
00516 regStartUp_t *erRegDupStartUp(const regStartUp_t *theStartup)
00517 {
00518 return regDupStartUp(theStartup);
00519 }
00520
00521
00522 #undef registry
00523
00524
00525 regPCProfile_t *erRegGetPCProfileFromList(regPCConfig_t *pPCConfig,
00526 regPCProfile_t **pPCs, const char *ID, int *index)
00527 {
00528 return basisRegGetPCProfileFromList(pPCConfig, pPCs, ID, index);
00529 }
00530
00531 void erRegAddPCProfileToList(regPCConfig_t **pPCConfig,
00532 regPCProfile_t ***pPCs, regPCProfile_t *pNewPCProfile)
00533 {
00534 basisRegAddPCProfileToList(pPCConfig, pPCs, pNewPCProfile);
00535 }
00536
00537 void erRegDeletePCProfileFromList(regPCConfig_t **pPCConfig,
00538 regPCProfile_t ***pPCs, const char *ID)
00539 {
00540 basisRegDeletePCProfileFromList(pPCConfig, pPCs, ID);
00541 }
00542
00543
00544 void erRegSetPCProfileDefault(regPCConfig_t **pPCConfig,
00545 regPCProfile_t ***pPCs, const char *ID)
00546 {
00547 basisRegSetPCProfileDefault(pPCConfig, pPCs, ID);
00548 }
00549
00550
00552
00553
00554
00556
00557 #define registry g_registry[regNWProfiles_t]
00558
00559 regNetworkConfig_t *erRegGetNetworkConfig(void)
00560 {
00561 g_assert(registry);
00562
00563 return regGetNetworkConfig(registry);
00564 }
00565
00566 regNetworkProfile_t *erRegGetNetworkProfile(const char *ID)
00567 {
00568 g_assert(registry);
00569
00570 return regGetNetworkProfile(ID, registry);
00571 }
00572
00573 regNetworkProfile_t *erRegDupNetworkProfile(const regNetworkProfile_t *theNetworkProfile)
00574 {
00575 return regDupNetworkProfile(theNetworkProfile);
00576 }
00577
00578 gboolean erRegSetNetworkConfig(regNetworkConfig_t *theNetworkConfig)
00579 {
00580 g_assert(registry);
00581
00582 return regSetNetworkConfig(theNetworkConfig, registry);
00583 }
00584
00585 gboolean erRegSetNetworkProfile(char *ID, regNetworkProfile_t *theNetworkProfile)
00586 {
00587 g_assert(registry);
00588
00589 return regSetNetworkProfile(ID, theNetworkProfile, registry);
00590 }
00591
00592 void erRegFreeNetworkConfig(regNetworkConfig_t *theNetworkConfig)
00593 {
00594 regFreeNetworkConfig(theNetworkConfig);
00595 }
00596
00597 void erRegFreeNetworkProfile(regNetworkProfile_t *theNetworkProfile)
00598 {
00599 regFreeNetworkProfile(theNetworkProfile);
00600 }
00601
00602 gboolean erRegRemoveNetworkConfig(void)
00603 {
00604 g_assert(registry);
00605
00606 return regRemoveNetworkConfig(registry);
00607 }
00608
00609 gboolean erRegRemoveNetworkProfile(const char *ID)
00610 {
00611 g_assert(registry);
00612
00613 return regRemoveNetworkProfile(ID, registry);
00614 }
00615
00616 void erRegGetNetworkProfiles(regNetworkConfig_t **pNetworkConfig, regNetworkProfile_t ***pNetworks)
00617 {
00618 g_assert(registry);
00619
00620 regGetNetworkProfiles(pNetworkConfig, pNetworks, registry);
00621 }
00622
00623 gboolean erRegSetNetworkProfiles(const regNetworkConfig_t *pNetworkConfig, const regNetworkProfile_t **pNetworks)
00624 {
00625 g_assert(registry);
00626
00627 return regSetNetworkProfiles(pNetworkConfig, pNetworks, registry);
00628 }
00629
00630 void erRegFreeNetworkProfiles(regNetworkConfig_t *theNetworkConfig, regNetworkProfile_t **theNetworks)
00631 {
00632 regFreeNetworkProfiles(theNetworkConfig, theNetworks);
00633 }
00634
00635 int erRegGetNetworkProfileFromList(regNetworkConfig_t *pNetworkConfig, const char *ID)
00636 {
00637 return nwRegGetNetworkProfileFromList(pNetworkConfig, ID);
00638 }
00639
00640
00641 regLastConnect_t *erRegGetLastConnect(void)
00642 {
00643 g_assert(registry);
00644
00645 return regGetLastConnect(registry);
00646 }
00647
00648 gboolean erRegSetLastConnect(regLastConnect_t* theLastConnect)
00649 {
00650 g_assert(registry);
00651
00652 return regSetLastConnect(theLastConnect, registry);
00653 }
00654
00655 void erRegFreeLastConnect(regLastConnect_t *theLastConnect)
00656 {
00657 regFreeLastConnect(theLastConnect);
00658 }
00659
00660
00661 gboolean erRegGetAutoConnectWlan(void)
00662 {
00663 g_assert(registry);
00664
00665 return regGetAutoConnectWlan(registry);
00666 }
00667
00668 gboolean erRegSetAutoConnectWlan(gboolean enable)
00669 {
00670 g_assert(registry);
00671
00672 return regSetAutoConnectWlan(enable, registry);
00673 }
00674
00675
00676 void erRegAddNetworkProfileToList(regNetworkConfig_t **pNetworkConfig,
00677 regNetworkProfile_t ***pNetworks, regNetworkProfile_t *pNewNetworkProfile)
00678 {
00679 nwRegAddNetworkProfileToList(pNetworkConfig, pNetworks, pNewNetworkProfile);
00680 }
00681
00682 void erRegDeleteNetworkProfileFromList(regNetworkConfig_t **pNetworkConfig,
00683 regNetworkProfile_t ***pNetworks, const char *ID)
00684 {
00685 nwRegDeleteNetworkProfileFromList(pNetworkConfig, pNetworks, ID);
00686 }
00687
00688 void erRegSetNetworkProfileDefault(regNetworkConfig_t **pNetworkConfig,
00689 regNetworkProfile_t ***pNetworks, const char *ID)
00690 {
00691 nwRegSetNetworkProfileDefault(pNetworkConfig, pNetworks, ID);
00692 }
00693
00694 #undef registry
00695
00696
00698
00699
00700
00702
00703 #define registry g_registry[regToolbar_t]
00704
00705 regIconSet_t *erRegGetIconSet(void)
00706 {
00707 return tbRegGetIconSet(registry);
00708 }
00709
00710 void erRegFreeIconSet(regIconSet_t *theIconSet)
00711 {
00712 tbRegFreeIconSet(theIconSet);
00713 }
00714
00715 #undef registry
00716