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 #ifndef DIGESTDBCONTROLLEREVENTS_H
00026 #define DIGESTDBCONTROLLEREVENTS_H
00027
00028
00029 #include "MvcCore/controllerevents.h"
00030 #include "MvcCore/genericcontainers.h"
00031
00032 #include "mvcdigestdb.h"
00033 #include "digestdbcontainers.h"
00034
00035
00036 class CDigestDbEvent : public CEvent {
00037
00038 public:
00039 enum Type {
00040 ClassAdd = CEvent::User,
00041 ClassUpdate,
00042 ClassesRemove,
00043 CollectionAdd,
00044 CollectionUpdate,
00045 CollectionsRemove,
00046 ExperimentAdd,
00047 ExperimentUpdate,
00048 ExperimentsRemove,
00049 GestureAdd,
00050 GestureUpdate,
00051 GesturesChangeClasses,
00052 GesturesChangeCollections,
00053 GesturesRemove,
00054 TrainedRecogAdd,
00055 TrainedRecogUpdate,
00056 TrainedRecogsRemove,
00057 User = CEvent::User + 1000
00058 };
00059
00060 CDigestDbEvent( Type type,
00061 QObject* sender = 0, Flags flags = NoFlags )
00062 : CEvent((CEvent::Type)type, sender, flags) {}
00063
00065 inline static MvcModuleId_t classModuleId() { return MvcDigestDb::id(); }
00067 virtual MvcModuleId_t moduleId() const { return classModuleId(); }
00068 };
00069
00070
00071 class CClassAddEvent : public CDigestDbEvent, public DClassRecordContainer {
00072 public:
00073 CClassAddEvent( const DClassRecord& record,
00074 QObject* sender = 0, Flags flags = NoFlags )
00075 : CDigestDbEvent(ClassAdd, sender, flags),
00076 DClassRecordContainer(record) {}
00077 };
00078
00079 class CClassUpdateEvent : public CDigestDbEvent, public DClassRecordContainer {
00080 public:
00081 CClassUpdateEvent( const DClassRecord& record,
00082 QObject* sender = 0, Flags flags = NoFlags )
00083 : CDigestDbEvent(ClassUpdate, sender, flags),
00084 DClassRecordContainer(record) {}
00085 };
00086
00087 class CClassesRemoveEvent : public CDigestDbEvent, public IdSetContainer {
00088 public:
00089 CClassesRemoveEvent( const IdSet& idSet,
00090 QObject* sender = 0, Flags flags = NoFlags )
00091 : CDigestDbEvent(ClassesRemove, sender, flags),
00092 IdSetContainer(idSet) {}
00093 CClassesRemoveEvent( int id, QObject* sender = 0, Flags flags = NoFlags )
00094 : CDigestDbEvent(ClassesRemove, sender, flags),
00095 IdSetContainer(id) {}
00096 };
00097
00098
00099 class CCollectionAddEvent : public CDigestDbEvent,
00100 public DCollectionRecordContainer {
00101 public:
00102 CCollectionAddEvent( const DCollectionRecord& record,
00103 QObject* sender = 0, Flags flags = NoFlags )
00104 : CDigestDbEvent(CollectionAdd, sender, flags),
00105 DCollectionRecordContainer(record) {}
00106 };
00107
00108 class CCollectionUpdateEvent : public CDigestDbEvent,
00109 public DCollectionRecordContainer {
00110 public:
00111 CCollectionUpdateEvent( const DCollectionRecord& record,
00112 QObject* sender = 0, Flags flags = NoFlags )
00113 : CDigestDbEvent(CollectionUpdate, sender, flags),
00114 DCollectionRecordContainer(record) {}
00115 };
00116
00117 class CCollectionsRemoveEvent : public CDigestDbEvent, public IdSetContainer {
00118 public:
00119 CCollectionsRemoveEvent( const IdSet& idSet,
00120 QObject* sender = 0, Flags flags = NoFlags )
00121 : CDigestDbEvent(CollectionsRemove, sender, flags),
00122 IdSetContainer(idSet) {}
00123 CCollectionsRemoveEvent( int id, QObject* sender = 0, Flags flags = NoFlags )
00124 : CDigestDbEvent(CollectionsRemove, sender, flags),
00125 IdSetContainer(id) {}
00126 };
00127
00128
00129 class CExperimentAddEvent : public CDigestDbEvent,
00130 public DExperimentRecordContainer {
00131 public:
00132 CExperimentAddEvent( const DExperimentRecord& record,
00133 QObject* sender = 0, Flags flags = NoFlags )
00134 : CDigestDbEvent(ExperimentAdd, sender, flags),
00135 DExperimentRecordContainer(record) {}
00136 };
00137
00138 class CExperimentUpdateEvent : public CDigestDbEvent,
00139 public DExperimentRecordContainer {
00140 public:
00141 CExperimentUpdateEvent( const DExperimentRecord& record,
00142 QObject* sender = 0, Flags flags = NoFlags )
00143 : CDigestDbEvent(ExperimentUpdate, sender, flags),
00144 DExperimentRecordContainer(record) {}
00145 };
00146
00147 class CExperimentsRemoveEvent : public CDigestDbEvent, public IdSetContainer {
00148 public:
00149 CExperimentsRemoveEvent( const IdSet& idSet,
00150 QObject* sender = 0, Flags flags = NoFlags )
00151 : CDigestDbEvent(ExperimentsRemove, sender, flags),
00152 IdSetContainer(idSet) {}
00153 CExperimentsRemoveEvent( int id, QObject* sender = 0, Flags flags = NoFlags )
00154 : CDigestDbEvent(ExperimentsRemove, sender, flags),
00155 IdSetContainer(id) {}
00156 };
00157
00158
00159 class CGestureAddEvent : public CDigestDbEvent,
00160 public DGestureRecordContainer {
00161 public:
00162 CGestureAddEvent( const DGestureRecord& record,
00163 QObject* sender = 0, Flags flags = NoFlags )
00164 : CDigestDbEvent(GestureAdd, sender, flags),
00165 DGestureRecordContainer(record) {}
00166 };
00167
00168 class CGestureUpdateEvent : public CDigestDbEvent,
00169 public DGestureRecordContainer {
00170 public:
00171 CGestureUpdateEvent( const DGestureRecord& record,
00172 QObject* sender = 0, Flags flags = NoFlags )
00173 : CDigestDbEvent(GestureUpdate, sender, flags),
00174 DGestureRecordContainer(record) {}
00175 };
00176
00178 class CGesturesChangeClassesEvent : public CDigestDbEvent,
00179 public IdSetContainer,
00180 public AddSetContainer<int>,
00181 public RemoveSetContainer<int> {
00182 public:
00183 CGesturesChangeClassesEvent( const IdSet& idSet,
00184 const IdSet& addSet,
00185 const IdSet& removeSet,
00186 QObject* sender = 0, Flags flags = NoFlags )
00187 : CDigestDbEvent(GesturesChangeClasses, sender, flags),
00188 IdSetContainer(idSet),
00189 AddSetContainer<int>(addSet),
00190 RemoveSetContainer<int>(removeSet) {}
00191 };
00192
00194 class CGesturesChangeCollectionsEvent : public CDigestDbEvent,
00195 public IdSetContainer,
00196 public AddSetContainer<int>,
00197 public RemoveSetContainer<int> {
00198 public:
00199 CGesturesChangeCollectionsEvent( const IdSet& idSet,
00200 const IdSet& addSet,
00201 const IdSet& removeSet,
00202 QObject* sender = 0, Flags flags = NoFlags )
00203 : CDigestDbEvent(GesturesChangeCollections, sender, flags),
00204 IdSetContainer(idSet),
00205 AddSetContainer<int>(addSet),
00206 RemoveSetContainer<int>(removeSet) {}
00207 };
00208
00209 class CGesturesRemoveEvent : public CDigestDbEvent, public IdSetContainer {
00210 public:
00211 CGesturesRemoveEvent( const IdSet& idSet,
00212 QObject* sender = 0, Flags flags = NoFlags )
00213 : CDigestDbEvent(GesturesRemove, sender, flags),
00214 IdSetContainer(idSet) {}
00215 CGesturesRemoveEvent( int id, QObject* sender = 0, Flags flags = NoFlags )
00216 : CDigestDbEvent(GesturesRemove, sender, flags),
00217 IdSetContainer(id) {}
00218 };
00219
00220
00221 class CTrainedRecogAddEvent : public CDigestDbEvent,
00222 public DTrainedRecogRecordContainer {
00223 public:
00224 CTrainedRecogAddEvent( const DTrainedRecogRecord& record,
00225 QObject* sender = 0, Flags flags = NoFlags )
00226 : CDigestDbEvent(TrainedRecogAdd, sender, flags),
00227 DTrainedRecogRecordContainer(record) {}
00228 };
00229
00230 class CTrainedRecogUpdateEvent : public CDigestDbEvent,
00231 public DTrainedRecogRecordContainer {
00232 public:
00233 CTrainedRecogUpdateEvent( const DTrainedRecogRecord& record,
00234 QObject* sender = 0, Flags flags = NoFlags )
00235 : CDigestDbEvent(TrainedRecogUpdate, sender, flags),
00236 DTrainedRecogRecordContainer(record) {}
00237 };
00238
00239 class CTrainedRecogsRemoveEvent : public CDigestDbEvent, public IdSetContainer {
00240 public:
00241 CTrainedRecogsRemoveEvent( const IdSet& idSet,
00242 QObject* sender = 0, Flags flags = NoFlags )
00243 : CDigestDbEvent(TrainedRecogsRemove, sender, flags),
00244 IdSetContainer(idSet) {}
00245 CTrainedRecogsRemoveEvent( int id, QObject* sender = 0, Flags flags = NoFlags )
00246 : CDigestDbEvent(TrainedRecogsRemove, sender, flags),
00247 IdSetContainer(id) {}
00248 };
00249
00250
00251 #endif // ! DIGESTDBCONTROLLEREVENTS_H