Isis 3 Programmer Reference
SerialNumberList.h
1#ifndef SerialNumberList_h
2#define SerialNumberList_h
8/* SPDX-License-Identifier: CC0-1.0 */
9
10#include <map>
11#include <vector>
12
13#include <QString>
14
15namespace Isis {
16
17 class Progress;
18
65 public:
66 SerialNumberList(bool checkTarget = true);
67 SerialNumberList(const QString &list, bool checkTarget = true, Progress *progress = NULL);
68 virtual ~SerialNumberList();
69
70 void add(const QString &filename, bool def2filename = false);
71 void add(const QString &serialNumber, const QString &filename);
72 void add(const char *serialNumber, const char *filename);
73 bool hasSerialNumber(QString sn);
74
75 void remove(const QString &sn);
76
77 int size() const;
78 QString fileName(const QString &sn);
79 QString fileName(int index);
80 QString serialNumber(const QString &filename);
81 QString serialNumber(int index);
82 QString observationNumber(int index);
83 QString spacecraftInstrumentId(int index);
84 QString spacecraftInstrumentId(const QString &sn);
85
86 int serialNumberIndex(const QString &sn);
87 int fileNameIndex(const QString &filename);
88
89 std::vector<QString> possibleSerialNumbers(const QString &on);
90
91 protected:
96 struct Pair {
97 QString filename;
98 QString serialNumber;
99 QString observationNumber;
100 QString spacecraftName;
101 QString instrumentId;
102 };
103
104 std::vector<Pair> m_pairs;
105 std::map<QString, int> m_serialMap;
106 std::map<QString, int> m_fileMap;
107
113 QString m_target;
114
115 };
116};
117
118#endif
Program progress reporter.
Definition Progress.h:42
Serial Number list generator.
virtual ~SerialNumberList()
Destructor.
bool hasSerialNumber(QString sn)
Determines whether or not the requested serial number exists in the list.
QString observationNumber(int index)
Return a observation number given an index.
std::map< QString, int > m_serialMap
Maps serial numbers to their positions in the list.
std::map< QString, int > m_fileMap
Maps filenames to their positions in the list.
void remove(const QString &sn)
Remove the specified serial number from the list.
QString serialNumber(const QString &filename)
Return a serial number given a filename.
void add(const QString &filename, bool def2filename=false)
Adds a new filename / serial number pair to the SerialNumberList.
bool m_checkTarget
Specifies whether or not to check to make sure the target names match between files added to the seri...
SerialNumberList(bool checkTarget=true)
Creates an empty SerialNumberList.
QString spacecraftInstrumentId(int index)
Return the spacecraftname/instrumentid at the given index.
QString m_target
Target name that the files must have if m_checkTarget is true
int size() const
How many serial number / filename combos are in the list.
int serialNumberIndex(const QString &sn)
Return a list index given a serial number.
int fileNameIndex(const QString &filename)
Return a list index given a filename.
std::vector< Pair > m_pairs
List of serial number Pair entities.
std::vector< QString > possibleSerialNumbers(const QString &on)
Return possible serial numbers given an observation number.
QString fileName(const QString &sn)
Return a filename given a serial number.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
A serial number list entity that contains the filename serial number pair.