Isis 3.0 Developer's Reference (
API
)
Home
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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 {
75
class
PvlTranslationManager
:
public
PvlTranslationTable
{
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
86
~PvlTranslationManager
() {};
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
106
Isis::Pvl
p_fLabel;
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