USGS

Isis 3.0 Object Programmers' Reference

Home

PvlTranslationManager.h
Go to the documentation of this file.
1 #ifndef PvlTranslationManager_h
2 #define PvlTranslationManager_h
3 
25 #include <string>
26 #include <fstream>
27 
28 #include "FileName.h"
29 #include "PvlTokenizer.h"
30 #include "PvlTranslationTable.h"
31 
32 namespace Isis {
76  public:
77  PvlTranslationManager(const QString &transFile);
78 
79  PvlTranslationManager(Isis::Pvl &inputLabel,
80  const QString &transFile);
81 
82  PvlTranslationManager(Isis::Pvl &inputLabel,
83  std::istream &transStrm);
84 
87 
88  // Attempt to translate the requested output name to output value
89  // using the input name and value/default value
90  QString Translate(QString nName, int findex = 0);
91 
92  // Translate all translation table groups which contain "Auto"
93  void Auto(Isis::Pvl &outputLabel);
94 
95  // Return the ith input value associated with a output name
96  const PvlKeyword &InputKeyword(const QString nName) const;
97 
98  // Return true if the input lable contains the translated group and key names
99  bool InputHasKeyword(const QString nName);
100 
101  void SetLabel(Isis::Pvl &lab) {
102  p_fLabel = lab;
103  }
104  private:
105 
107 
108  Isis::PvlKeyword DoTranslation(const QString nName);
109  const Isis::PvlContainer *GetContainer(const PvlKeyword &inputGroup) const;
110  Isis::PvlContainer *CreateContainer(const QString nName, Isis::Pvl &pvl);
111  };
112 };
113 
114 #endif
115 
116