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 #ifndef INCL_SYNCSOURCEREPORT
00037 #define INCL_SYNCSOURCEREPORT
00038
00042 #include "base/fscapi.h"
00043 #include "base/Log.h"
00044 #include "base/util/utils.h"
00045 #include "spds/constants.h"
00046 #include "event/constants.h"
00047 #include "spds/ItemReport.h"
00048
00049
00051 typedef enum SourceState{
00052 SOURCE_ACTIVE = 0,
00053 SOURCE_INACTIVE = 1,
00054 SOURCE_ERROR = 2,
00055 } SourceState;
00056
00057
00064 class SyncSourceReport {
00065
00066 private:
00067
00068
00069 int lastErrorCode;
00070
00071
00072 char* lastErrorMsg;
00073
00074
00075 char* sourceName;
00076
00077
00078
00079
00080
00081 SourceState state;
00082
00083
00084 ArrayList* clientAddItems;
00085 ArrayList* clientModItems;
00086 ArrayList* clientDelItems;
00087
00088
00089 ArrayList* serverAddItems;
00090 ArrayList* serverModItems;
00091 ArrayList* serverDelItems;
00092
00093
00094
00095 bool isSuccessful(const int status);
00096
00097
00098 void initialize();
00099
00100
00101
00102
00103
00104 void assign(const SyncSourceReport& ssr);
00105
00106
00107 public:
00108
00109 SyncSourceReport(const char* name = NULL);
00110 SyncSourceReport(SyncSourceReport& ssr);
00111 virtual ~SyncSourceReport();
00112
00114 const int getLastErrorCode() const;
00115
00117 const SourceState getState() const;
00118
00120 const char* getLastErrorMsg() const;
00121
00123 const char* getSourceName() const;
00124
00125 void setLastErrorCode(const int code);
00126 void setState (const SourceState s);
00127 void setLastErrorMsg (const char* msg);
00128 void setSourceName (const char* name);
00129
00134 bool checkState();
00135
00136
00145 ItemReport* getItemReport(const char* target, const char* command, int index);
00146
00147
00155 int getItemReportCount (const char* target, const char* command);
00156
00157 int getItemReportSuccessfulCount (const char* target, const char* command);
00158
00159 int getItemReportFailedCount (const char* target, const char* command);
00160
00161 int getItemReportAlreadyExistCount(const char* target, const char* command);
00162
00163
00176 void addItem(const char* target, const char* command, const WCHAR* ID, const int status, const WCHAR* statusMessage);
00177
00178
00179
00188 ArrayList* getList(const char* target, const char* command) const;
00189
00193 static const char* const targets[];
00194
00198 static const char* const commands[];
00199
00203 SyncSourceReport& operator = (const SyncSourceReport& ssr) {
00204 assign(ssr);
00205 return *this;
00206 }
00207 };
00208
00211 #endif
00212