00001 00002 // $Id: DemoSnarlList.h,v 1.3 2009/07/21 22:10:17 gmieg Exp $ 00003 // 00004 // Given a list of run/snarl numbers, this module passes only those 00005 // records whose run/snarl number is in the list 00006 // 00007 // messier@huhepl.harvard.edu 00009 #ifndef STRING 00010 #include <string> 00011 #endif 00012 #ifndef LIST 00013 #include <list> 00014 #endif 00015 #ifndef JOBCMODULE_H 00016 #include "JobControl/JobCModule.h" 00017 #endif 00018 class MomNavigator; 00019 class JobCommand; 00020 00021 class DemoSnarlList : public JobCModule 00022 { 00023 public: 00024 DemoSnarlList(); 00025 00026 JobCResult Ana(const MomNavigator* mom); 00027 void Report(); 00028 void HandleCommand(JobCommand *command); 00029 00030 void AddRunSnarl(int r, int s); 00031 void RemoveRunSnarl(int r, int s); 00032 void AddUsingFile(const char* f); 00033 void RemoveUsingFile(const char* f); 00034 00035 private: 00036 std::string Key(int r, int s); 00037 00038 private: 00039 bool fIsSorted; // Is the list sorted? 00040 std::list< std::string > fSnarlList; // The list of records to pass 00041 bool fVetoMode; // If true, veto the list instead of accept 00042 }; 00043 00045
1.3.9.1