MvcDigestDb/controllers/digestdbcontrollerevents.h

Go to the documentation of this file.
00001 /*  -*- c++ -*-  (for Emacs)
00002  *
00003  *  digestdbcontrollerevents.h
00004  *  Digest
00005  * 
00006  *  Created by Aidan Lane on Fri Aug 12 2005.
00007  *  Copyright (c) 2005-2006 Optimisation and Constraint Solving Group,
00008  *  Monash University. All rights reserved.
00009  *
00010  *  This program is free software; you can redistribute it and/or modify
00011  *  it under the terms of the GNU General Public License as published by
00012  *  the Free Software Foundation; either version 2 of the License, or
00013  *  (at your option) any later version.
00014  *
00015  *  This program is distributed in the hope that it will be useful,
00016  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018  *  GNU General Public License for more details.
00019  *
00020  *  You should have received a copy of the GNU General Public License
00021  *  along with this program; if not, write to the Free Software
00022  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
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

Generated on Mon Jul 30 09:46:50 2007 for Digest by  doxygen 1.5.2