00001 /* 00002 * This file is part of liberregxml. 00003 * 00004 * liberregxml is free software: you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation, either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * liberregxml is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00016 */ 00017 00031 #ifndef _ERREG_BASIS_H_ 00032 #define _ERREG_BASIS_H_ 00033 00034 #include "erregtypes.h" 00035 #include "erregxml.h" 00036 #include "erreg.h" 00037 00038 // basis registry files 00039 #define REG_BASIS_XML_FILE "registry.xml" 00040 #define REG_BASIS_XSD_PATH TEMPLATE_DIR "/registry.xsd" 00041 00042 #define DEFAULT_STARTUP_BEHAVIOUR recentDocuments_t 00043 00044 #ifdef __cplusplus 00045 extern "C" 00046 { 00047 #endif 00048 00049 regLoad_t basisRegLoad (regRegistry_t **ppRegistry); 00050 void basisRegUnload (regRegistry_t *pRegistry); 00051 void basisRegRecover (regLoad_t source); 00052 gboolean basisRegStore(regRegistry_t* pRegistry); 00053 00054 void basisRegInitXpathList(regRegistry_t *pRegistry); 00055 void basisRegDestroyXpathList(regRegistry_t *pRegistry); 00056 00057 regPCProfile_t *basisRegGetPCProfileFromList(regPCConfig_t *pPCConfig, 00058 regPCProfile_t **pPCs, 00059 const char *ID, 00060 int *index); 00061 void basisRegAddPCProfileToList(regPCConfig_t **pPCConfig, 00062 regPCProfile_t ***pPCs, 00063 regPCProfile_t *pNewPCProfile); 00064 void basisRegDeletePCProfileFromList(regPCConfig_t **pPCConfig, 00065 regPCProfile_t ***pPCs, 00066 const char *ID); 00067 void basisRegSetPCProfileDefault(regPCConfig_t ** pPCConfig, 00068 regPCProfile_t *** pPCs, 00069 const char *ID); 00070 00071 // internal functions 00072 regUserProfile_t *basisRegNewUserProfile(void); 00073 regPCConfig_t *basisRegNewPCConfig(int size); 00074 00075 #ifdef __cplusplus 00076 } 00077 #endif 00078 00079 #endif // _ERREG_BASIS_H_