00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef INCL_DM_CONFIG
00036 #define INCL_DM_CONFIG
00037
00041 #include "base/fscapi.h"
00042 #include "http/constants.h"
00043 #include "spdm/constants.h"
00044 #include "spds/SyncManagerConfig.h"
00045 #include "spds/AccessConfig.h"
00046 #include "spds/DeviceConfig.h"
00047 #include "spds/SyncSourceConfig.h"
00048 #include "spdm/ManagementNode.h"
00049 #include "base/globalsdef.h"
00050 #include "syncml/core/DataStore.h"
00051
00052 BEGIN_NAMESPACE
00053
00054 class DMTree;
00055
00060 class DMTClientConfig : public SyncManagerConfig {
00061
00062 protected:
00063
00064 char* rootContext;
00065
00066 DMTree* dmt;
00067 ManagementNode* syncMLNode;
00068 ManagementNode* sourcesNode;
00069 ManagementNode* serverNode;
00070
00071 void initialize();
00072
00073
00074 virtual bool readRootConfig ();
00075 virtual void saveRootConfig ();
00076 virtual bool readAccessConfig(ManagementNode& n);
00077 virtual void saveAccessConfig(ManagementNode& n);
00078 virtual bool readDeviceConfig(ManagementNode& n, bool server = false);
00079 virtual void saveDeviceConfig(ManagementNode& n, bool server = false);
00080 virtual bool readSourceConfig(int i, ManagementNode& n);
00081 virtual void saveSourceConfig(int i, ManagementNode& n);
00082
00095 virtual bool readAuthConfig(ManagementNode& syncMLNode,
00096 ManagementNode& authNode);
00103 virtual void saveAuthConfig(ManagementNode& syncMLNode,
00104 ManagementNode& authNode);
00105
00113 virtual bool readConnConfig(ManagementNode& syncMLNode,
00114 ManagementNode& connNode);
00122 virtual void saveConnConfig(ManagementNode& syncMLNode,
00123 ManagementNode& connNode);
00124
00132 virtual bool readExtAccessConfig(ManagementNode& syncMLNode,
00133 ManagementNode& extNode);
00141 virtual void saveExtAccessConfig(ManagementNode& syncMLNode,
00142 ManagementNode& extNode);
00143
00150 virtual bool readDevInfoConfig(ManagementNode& syncMLNode,
00151 ManagementNode& devInfoNode, bool server = false);
00158 virtual void saveDevInfoConfig(ManagementNode& syncMLNode,
00159 ManagementNode& devInfoNode, bool server = false);
00160
00168 virtual bool readDevDetailConfig(ManagementNode& syncMLNode,
00169 ManagementNode& devDetailNode, bool server = false);
00177 virtual void saveDevDetailConfig(ManagementNode& syncMLNode,
00178 ManagementNode& devDetailNode, bool server = false);
00179
00187 virtual bool readExtDevConfig(ManagementNode& syncMLNode,
00188 ManagementNode& extNode, bool server = false);
00196 virtual void saveExtDevConfig(ManagementNode& syncMLNode,
00197 ManagementNode& extNode, bool server = false);
00198
00207 virtual bool readSourceVars(int i,
00208 ManagementNode& sourcesNode,
00209 ManagementNode& sourceNode);
00210
00219 virtual void saveSourceVars(int i,
00220 ManagementNode& sourcesNode,
00221 ManagementNode& sourceNode);
00222
00232 virtual bool readSourceConfig(int i,
00233 ManagementNode& sourcesNode,
00234 ManagementNode& sourceNode);
00235
00245 virtual void saveSourceConfig(int i,
00246 ManagementNode& sourcesNode,
00247 ManagementNode& sourceNode);
00248
00256 bool readDataStoresConfig(ManagementNode& dataStoresNode);
00257
00265 DataStore* readDataStoreConfig(ManagementNode& dataStoreNode);
00266
00275 void saveDataStoresConfig(ManagementNode& dataStoresNode);
00276
00284 void saveDataStoreConfig(ManagementNode& dataStoreNode, DataStore* dataStore);
00285
00286 public:
00287
00295 DMTClientConfig(const char* root);
00296
00301 DMTClientConfig();
00302
00303 ~DMTClientConfig();
00304
00305 SyncSourceConfig* getSyncSourceConfig(const char* name, bool refresh = false);
00306 SyncSourceConfig* getSyncSourceConfig(unsigned int i, bool refresh = false);
00307
00308 virtual bool read();
00309 virtual bool save();
00310
00317 virtual bool open();
00318
00326 virtual ManagementNode* getSyncMLNode();
00327
00331 virtual int getNumSources();
00332
00339 virtual ManagementNode* getSyncSourceNode(int index);
00340
00344 virtual ManagementNode* getSyncSourceNode(const char* name);
00345
00351 virtual void close();
00352 };
00353
00354
00355 END_NAMESPACE
00356
00359 #endif