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
00036
00037
00038 #ifndef INCL_SYNC_SOURCE_CONFIG
00039 #define INCL_SYNC_SOURCE_CONFIG
00040
00044 #include "spds/AbstractSyncSourceConfig.h"
00045 #include "base/globalsdef.h"
00046 #include "base/util/StringMap.h"
00047 #include "base/Log.h"
00048
00049 BEGIN_NAMESPACE
00050
00056 class SyncSourceConfig : public AbstractSyncSourceConfig {
00057
00058 protected:
00059
00060 char* name ;
00061 char* uri ;
00062 char* syncModes ;
00063 char* type ;
00064 char* sync ;
00065 char* encodings ;
00066 char* version ;
00067 char* supportedTypes ;
00068 char* encryption ;
00069
00070 unsigned long last ;
00071
00072 bool fieldLevel ;
00073 ArrayList ctCaps ;
00074
00080 bool enabled ;
00081
00088 int lastSourceError ;
00089
00095 CTCap* createCtCap(ArrayList *props, const char *ct_Type, const char *ver_CT, bool fLevel);
00096
00101 StringMap extraProps;
00102
00103
00104 public:
00105
00109 SyncSourceConfig();
00110
00114 ~SyncSourceConfig();
00115
00119 const char* getName() const;
00120
00126 void setName(const char* n);
00127
00131 const char* getURI() const;
00132
00138 void setURI(const char* u);
00139
00157 const char* getSyncModes() const;
00158
00165 void setSyncModes(const char* s);
00166
00170 const char* getType() const;
00171
00177 void setType(const char* t);
00178
00182 const char* getSync() const;
00183
00187 void setSync(const char* s);
00188
00195 const char* getEncoding() const;
00196 void setEncoding(const char* s);
00197
00198
00202 const char* getVersion() const;
00203
00209 void setVersion(const char* n);
00210
00211
00219 const char* getSupportedTypes() const;
00220
00226 void setSupportedTypes(const char* s);
00227
00232 bool isEnabled() const;
00233
00238 void setIsEnabled(const bool s);
00239
00241 int getLastSourceError() const;
00242
00244 void setLastSourceError(const int errorCode);
00245
00251 void setLast(unsigned long timestamp);
00252
00256 unsigned long getLast() const;
00257
00263 const char* getEncryption() const;
00264
00270 void setEncryption(const char* n);
00271
00278
00279
00286
00287
00293 const ArrayList& getCtCaps() const {return ctCaps;};
00294 ArrayList& getCtCaps() {return ctCaps;};
00295
00312 void addCtCap(ArrayList* props, const char* ct_Type = 0 , const char* ver_CT = 0, int fLevel = FLEVEL_UNDEFINED);
00313
00317 const StringMap& getExtraProps() const { return extraProps; }
00318
00322 void setProperty(const char* propertyName, const char* propertyValue);
00323
00327 void setIntProperty(const char* propertyName, int propertyValue);
00328
00332 void setBoolProperty(const char* propertyName, bool propertyValue);
00333
00337 void setLongProperty(const char* propertyName, long propertyValue);
00338
00343 const char* getProperty(const char* propertyName);
00344
00345
00350 int getIntProperty(const char* propertyName, bool* err);
00351
00352
00357 bool getBoolProperty(const char* propertyName, bool* err);
00358
00359
00364 long getLongProperty(const char* propertyName, bool* err);
00365
00366
00372 void assign(const SyncSourceConfig& sc);
00373
00379 bool getFieldLevel() const { return false;}
00380
00384 SyncSourceConfig& operator = (const SyncSourceConfig& sc) {
00385 assign(sc);
00386 return *this;
00387 }
00391 void printStringMap() {
00392 if (extraProps.empty()) {
00393 LOG.debug("[%s] StringMap is empty", getName());
00394 }
00395 KeyValuePair kvp = (KeyValuePair)extraProps.front();
00396 while (kvp.null() == false) {
00397 LOG.debug("[%s] key: %s, value: %s", getName(), kvp.getKey().c_str(), kvp.getValue().c_str());
00398 kvp = extraProps.next();
00399 }
00400 }
00401
00402 };
00403
00404
00405 END_NAMESPACE
00406
00409 #endif