Isis 3.0
Home
SerialNumberList.h
Go to the documentation of this file.
1 #ifndef SerialNumberList_h
2 #define SerialNumberList_h
3 
26 #include <map>
27 #include <vector>
28 
29 #include <QString>
30 
31 namespace Isis {
32 
33  class Progress;
34 
79  public:
80  SerialNumberList(bool checkTarget = true);
81  SerialNumberList(const QString &list, bool checkTarget = true, Progress *progress = NULL);
82  virtual ~SerialNumberList();
83 
84  void add(const QString &filename, bool def2filename = false);
85  void add(const QString &serialNumber, const QString &filename);
86  void add(const char *serialNumber, const char *filename);
87  bool hasSerialNumber(QString sn);
88 
89  void Delete(const QString &sn);
90 
91  int size() const;
92  QString fileName(const QString &sn);
93  QString fileName(int index);
94  QString serialNumber(const QString &filename);
95  QString serialNumber(int index);
96  QString observationNumber(int index);
97  QString spacecraftInstrumentId(int index);
98  QString spacecraftInstrumentId(const QString &sn);
99 
100  int serialNumberIndex(const QString &sn);
101  int fileNameIndex(const QString &filename);
102 
103  std::vector<QString> possibleSerialNumbers(const QString &on);
104 
105  protected:
110  struct Pair {
111  QString filename;
112  QString serialNumber;
114  QString spacecraftName;
115  QString instrumentId;
116  };
117 
118  std::vector<Pair> m_pairs;
119  std::map<QString, int> m_serialMap;
120  std::map<QString, int> m_fileMap;
121 
127  QString m_target;
128 
129  };
130 };
131 
132 #endif
int serialNumberIndex(const QString &sn)
Return a list index given a serial number.
Definition: SerialNumberList.cpp:451
void Delete(const QString &sn)
Remove the specified serial number from the list.
Definition: SerialNumberList.cpp:82
QString observationNumber
Definition: SerialNumberList.h:113
bool hasSerialNumber(QString sn)
Determines whether or not the requested serial number exists in the list.
Definition: SerialNumberList.cpp:334
virtual ~SerialNumberList()
Destructor.
Definition: SerialNumberList.cpp:71
void add(const QString &filename, bool def2filename=false)
Adds a new filename / serial number pair to the SerialNumberList.
Definition: SerialNumberList.cpp:115
int size() const
How many serial number / filename combos are in the list.
Definition: SerialNumberList.cpp:345
QString serialNumber(const QString &filename)
Return a serial number given a filename.
Definition: SerialNumberList.cpp:387
QString instrumentId
Definition: SerialNumberList.h:115
QString spacecraftInstrumentId(int index)
Return the spacecraftname/instrumentid at the given index.
Definition: SerialNumberList.cpp:520
std::vector< QString > possibleSerialNumbers(const QString &on)
Return possible serial numbers given an observation number.
Definition: SerialNumberList.cpp:574
std::map< QString, int > m_fileMap
Maps filenames to their positions in the list.
Definition: SerialNumberList.h:120
int fileNameIndex(const QString &filename)
Return a list index given a filename.
Definition: SerialNumberList.cpp:478
bool m_checkTarget
Specifies whether or not to check to make sure the target names match between files added to the seri...
Definition: SerialNumberList.h:126
std::map< QString, int > m_serialMap
Maps serial numbers to their positions in the list.
Definition: SerialNumberList.h:119
QString fileName(const QString &sn)
Return a filename given a serial number.
Definition: SerialNumberList.cpp:360
A serial number list entity that contains the filename serial number pair.
Definition: SerialNumberList.h:110
std::vector< Pair > m_pairs
List of serial number Pair entities.
Definition: SerialNumberList.h:118
Program progress reporter.
Definition: Progress.h:58
QString spacecraftName
Definition: SerialNumberList.h:114
QString m_target
Target name that the files must have if m_checkTarget is true.
Definition: SerialNumberList.h:127
QString serialNumber
Definition: SerialNumberList.h:112
QString filename
Definition: SerialNumberList.h:111
QString observationNumber(int index)
Return a observation number given an index.
Definition: SerialNumberList.cpp:429
SerialNumberList(bool checkTarget=true)
Creates an empty SerialNumberList.
Definition: SerialNumberList.cpp:20
Serial Number list generator.
Definition: SerialNumberList.h:78