00001 /* 00002 * SmartBlindCollection.h 00003 * 00004 * Created on: 16-mag-2009 00005 * Author: Nicola Mori 00006 */ 00007 00010 #ifndef SMARTBLINDCOLLECTION_H_ 00011 #define SMARTBLINDCOLLECTION_H_ 00012 00013 #include "../BlindCutCollection/BlindCutCollection.h" 00014 #include "../../CollectionActions/CollectionAction/CollectionAction.h" 00015 00028 class SmartBlindCollection: public BlindCutCollection { 00029 00030 public: 00031 00036 SmartBlindCollection(const char* collectionName) : 00037 BlindCutCollection(collectionName), _actions(0) { 00038 } 00039 00041 ~SmartBlindCollection(){ 00042 } 00043 00045 virtual void AddAction(CollectionAction& action); 00046 00053 CollectionAction *GetAction(unsigned int iAction); 00054 00063 void Setup(PamLevel2 *events); 00064 00070 void Finalize(); 00071 00079 void OnGood(PamLevel2 *event); 00080 00091 void OnBad(PamLevel2 *event, int selectionResult); 00092 00093 private: 00094 00095 std::vector<CollectionAction*> _actions; 00096 00097 }; 00098 00099 #endif /* SMARTBLINDCOLLECTION_H_ */