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
00063 class DMTClientConfig : public SyncManagerConfig {
00064
00065 protected:
00066
00067 char* rootContext;
00068
00069 DMTree* dmt;
00070 ManagementNode* syncMLNode;
00071 ManagementNode* sourcesNode;
00072 ManagementNode* serverNode;
00073
00074 void initialize();
00075
00076
00077 virtual bool readRootConfig ();
00078 virtual void saveRootConfig ();
00079 virtual bool readAccessConfig(ManagementNode& n);
00080 virtual void saveAccessConfig(ManagementNode& n);
00081 virtual bool readDeviceConfig(ManagementNode& n, bool server = false);
00082 virtual void saveDeviceConfig(ManagementNode& n, bool server = false);
00083 virtual bool readSourceConfig(int i, ManagementNode& n);
00084 virtual void saveSourceConfig(int i, ManagementNode& n);
00085
00098 virtual bool readAuthConfig(ManagementNode& syncMLNode,
00099 ManagementNode& authNode);
00106 virtual void saveAuthConfig(ManagementNode& syncMLNode,
00107 ManagementNode& authNode);
00108
00116 virtual bool readConnConfig(ManagementNode& syncMLNode,
00117 ManagementNode& connNode);
00125 virtual void saveConnConfig(ManagementNode& syncMLNode,
00126 ManagementNode& connNode);
00127
00135 virtual bool readExtAccessConfig(ManagementNode& syncMLNode,
00136 ManagementNode& extNode);
00144 virtual void saveExtAccessConfig(ManagementNode& syncMLNode,
00145 ManagementNode& extNode);
00146
00153 virtual bool readDevInfoConfig(ManagementNode& syncMLNode,
00154 ManagementNode& devInfoNode, bool server = false);
00161 virtual void saveDevInfoConfig(ManagementNode& syncMLNode,
00162 ManagementNode& devInfoNode, bool server = false);
00163
00171 virtual bool readDevDetailConfig(ManagementNode& syncMLNode,
00172 ManagementNode& devDetailNode, bool server = false);
00180 virtual void saveDevDetailConfig(ManagementNode& syncMLNode,
00181 ManagementNode& devDetailNode, bool server = false);
00182
00190 virtual bool readExtDevConfig(ManagementNode& syncMLNode,
00191 ManagementNode& extNode, bool server = false);
00199 virtual void saveExtDevConfig(ManagementNode& syncMLNode,
00200 ManagementNode& extNode, bool server = false);
00201
00210 virtual bool readSourceVars(int i,
00211 ManagementNode& sourcesNode,
00212 ManagementNode& sourceNode);
00213
00222 virtual void saveSourceVars(int i,
00223 ManagementNode& sourcesNode,
00224 ManagementNode& sourceNode);
00225
00235 virtual bool readSourceConfig(int i,
00236 ManagementNode& sourcesNode,
00237 ManagementNode& sourceNode);
00238
00248 virtual void saveSourceConfig(int i,
00249 ManagementNode& sourcesNode,
00250 ManagementNode& sourceNode);
00251
00259 bool readDataStoresConfig(ManagementNode& dataStoresNode);
00260
00268 DataStore* readDataStoreConfig(ManagementNode& dataStoreNode);
00269
00278 void saveDataStoresConfig(ManagementNode& dataStoresNode);
00279
00287 void saveDataStoreConfig(ManagementNode& dataStoreNode, DataStore* dataStore);
00288
00289 public:
00290
00298 DMTClientConfig(const char* root);
00299
00304 DMTClientConfig();
00305
00306 ~DMTClientConfig();
00307
00308 SyncSourceConfig* getSyncSourceConfig(const char* name, bool refresh = false);
00309 SyncSourceConfig* getSyncSourceConfig(unsigned int i, bool refresh = false);
00310
00311 virtual bool read();
00312 virtual bool save();
00313
00320 virtual bool open();
00321
00329 virtual ManagementNode* getSyncMLNode();
00330
00334 virtual int getNumSources();
00335
00342 virtual ManagementNode* getSyncSourceNode(int index);
00343
00347 virtual ManagementNode* getSyncSourceNode(const char* name);
00348
00354 virtual void close();
00355 };
00356
00357
00358 END_NAMESPACE
00359
00362 #endif