00001 #pragma ident "$Id: Keeper.hpp 1925 2009-05-31 16:43:02Z architest $"
00002
00009 #ifndef GPSTK_KEEPER_HPP
00010 #define GPSTK_KEEPER_HPP
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #include "ProcessingClass.hpp"
00037
00038
00039 namespace gpstk
00040 {
00041
00044
00045
00074 class Keeper : public ProcessingClass
00075 {
00076 public:
00077
00079 Keeper()
00080 { setIndex(); };
00081
00082
00087 Keeper( const TypeIDSet& keepSet )
00088 : keepTypeSet(keepSet)
00089 { setIndex(); };
00090
00091
00096 virtual satTypeValueMap& Process( satTypeValueMap& gData )
00097 throw(ProcessingException);
00098
00099
00104 virtual gnssSatTypeValue& Process( gnssSatTypeValue& gData )
00105 throw(ProcessingException)
00106 { Process(gData.body); return gData; };
00107
00108
00113 virtual gnssRinex& Process( gnssRinex& gData )
00114 throw(ProcessingException)
00115 { Process(gData.body); return gData; };
00116
00117
00128 virtual Keeper& setType( const TypeID& type )
00129 { keepTypeSet.clear(); keepTypeSet.insert(type); return (*this); };
00130
00131
00137 virtual Keeper& addType( const TypeID& type )
00138 { keepTypeSet.insert(type); return (*this); };
00139
00140
00148 virtual Keeper& setTypeSet( const TypeIDSet& keepSet )
00149 { keepTypeSet.clear(); keepTypeSet = keepSet; return (*this); };
00150
00151
00157 virtual Keeper& addTypeSet( const TypeIDSet& keepSet );
00158
00159
00164 virtual Keeper& clearTypeSet( void )
00165 { keepTypeSet.clear(); return (*this); };
00166
00167
00169 virtual TypeIDSet getTypeSet(void) const
00170 { return keepTypeSet; };
00171
00172
00174 virtual int getIndex(void) const;
00175
00176
00178 virtual std::string getClassName(void) const;
00179
00180
00182 virtual ~Keeper() {};
00183
00184
00185 private:
00186
00187
00189 TypeIDSet keepTypeSet;
00190
00191
00193 static int classIndex;
00194
00195
00197 int index;
00198
00200 void setIndex(void)
00201 { index = classIndex++; };
00202
00203
00204 };
00205
00206
00208
00209 }
00210
00211 #endif // GPSTK_KEEPER_HPP