Isis Developer Reference
SerialNumberList.h
Go to the documentation of this file.
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;
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.
Definition SerialNumberList.h:64
virtual ~SerialNumberList()
Destructor.
Definition SerialNumberList.cpp:77
bool hasSerialNumber(QString sn)
Determines whether or not the requested serial number exists in the list.
Definition SerialNumberList.cpp:373
QString observationNumber(int index)
Return a observation number given an index.
Definition SerialNumberList.cpp:468
std::map< QString, int > m_serialMap
Maps serial numbers to their positions in the list.
Definition SerialNumberList.h:105
std::map< QString, int > m_fileMap
Maps filenames to their positions in the list.
Definition SerialNumberList.h:106
void remove(const QString &sn)
Remove the specified serial number from the list.
Definition SerialNumberList.cpp:88
QString serialNumber(const QString &filename)
Return a serial number given a filename.
Definition SerialNumberList.cpp:426
void add(const QString &filename, bool def2filename=false)
Adds a new filename / serial number pair to the SerialNumberList.
Definition SerialNumberList.cpp:121
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:112
SerialNumberList(bool checkTarget=true)
Creates an empty SerialNumberList.
Definition SerialNumberList.cpp:26
QString spacecraftInstrumentId(int index)
Return the spacecraftname/instrumentid at the given index.
Definition SerialNumberList.cpp:559
QString m_target
Target name that the files must have if m_checkTarget is true
Definition SerialNumberList.h:113
int size() const
How many serial number / filename combos are in the list.
Definition SerialNumberList.cpp:384
int serialNumberIndex(const QString &sn)
Return a list index given a serial number.
Definition SerialNumberList.cpp:490
int fileNameIndex(const QString &filename)
Return a list index given a filename.
Definition SerialNumberList.cpp:517
std::vector< Pair > m_pairs
List of serial number Pair entities.
Definition SerialNumberList.h:104
std::vector< QString > possibleSerialNumbers(const QString &on)
Return possible serial numbers given an observation number.
Definition SerialNumberList.cpp:613
QString fileName(const QString &sn)
Return a filename given a serial number.
Definition SerialNumberList.cpp:399
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.
Definition SerialNumberList.h:96
QString observationNumber
Definition SerialNumberList.h:99
QString filename
Definition SerialNumberList.h:97
QString serialNumber
Definition SerialNumberList.h:98
QString spacecraftName
Definition SerialNumberList.h:100
QString instrumentId
Definition SerialNumberList.h:101