00001 #pragma ident "$Id: ProcessingClass.hpp 3140 2012-06-18 15:03:02Z susancummins $" 00002 00008 #ifndef PROCESSINGCLASS_HPP 00009 #define PROCESSINGCLASS_HPP 00010 00011 //============================================================================ 00012 // 00013 // This file is part of GPSTk, the GPS Toolkit. 00014 // 00015 // The GPSTk is free software; you can redistribute it and/or modify 00016 // it under the terms of the GNU Lesser General Public License as published 00017 // by the Free Software Foundation; either version 2.1 of the License, or 00018 // any later version. 00019 // 00020 // The GPSTk is distributed in the hope that it will be useful, 00021 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00023 // GNU Lesser General Public License for more details. 00024 // 00025 // You should have received a copy of the GNU Lesser General Public 00026 // License along with GPSTk; if not, write to the Free Software Foundation, 00027 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA 00028 // 00029 // Dagoberto Salazar - gAGE ( http://www.gage.es ). 2007, 2008, 2011 00030 // 00031 //============================================================================ 00032 00033 00034 00035 #include "StringUtils.hpp" 00036 #include "DataStructures.hpp" 00037 00038 00039 namespace gpstk 00040 { 00041 00044 NEW_EXCEPTION_CLASS(ProcessingException, gpstk::Exception); 00045 00048 00049 00081 class ProcessingClass 00082 { 00083 public: 00084 00085 00090 virtual gnssSatTypeValue& Process(gnssSatTypeValue& gData) = 0; 00091 00092 00097 virtual gnssRinex& Process(gnssRinex& gData) = 0; 00098 00099 00102 virtual std::string getClassName(void) const = 0; 00103 00104 00106 virtual ~ProcessingClass() {}; 00107 00108 00109 00110 }; // End of class 'ProcessingClass' 00111 00112 00114 inline gnssSatTypeValue& operator>>( gnssSatTypeValue& gData, 00115 ProcessingClass& procClass ) 00116 { procClass.Process(gData); return gData; } 00117 00118 00120 inline gnssRinex& operator>>( gnssRinex& gData, 00121 ProcessingClass& procClass ) 00122 { procClass.Process(gData); return gData; } 00123 00124 00126 00127 } // End of namespace gpstk 00128 00129 #endif // PROCESSINGCLASS_HPP
1.3.9.1