ProcessingClass.hpp

Go to the documentation of this file.
00001 #pragma ident "$Id: ProcessingClass.hpp 1312 2008-07-24 18:15:26Z architest $"
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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00028 //
00029 //  Dagoberto Salazar - gAGE ( http://www.gage.es ). 2007, 2008
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 
00101       virtual int getIndex(void) const = 0;
00102 
00105       virtual std::string getClassName(void) const = 0;
00106 
00107 
00109       bool operator==(const ProcessingClass& right) const
00110       { return ( (*this).getIndex() == right.getIndex() ); }
00111 
00113       bool operator!=(const ProcessingClass& right) const
00114       { return !(operator==(right)); }
00115 
00117       virtual bool operator<(const ProcessingClass& right) const
00118       { return ( (*this).getIndex() < right.getIndex() ); }
00119 
00121       bool operator>(const ProcessingClass& right) const
00122       { return ( (*this).getIndex() > right.getIndex() ); }
00123 
00125       bool operator<=(const ProcessingClass& right) const
00126       { return ( (*this).getIndex() <= right.getIndex() ); }
00127 
00129       bool operator>=(const ProcessingClass& right) const
00130       { return ( (*this).getIndex() >= right.getIndex() ); }
00131 
00132 
00134       virtual ~ProcessingClass() {};
00135 
00136 
00137 
00138    }; // End of class 'ProcessingClass'
00139 
00140 
00142    inline gnssSatTypeValue& operator>>( gnssSatTypeValue& gData,
00143                                         ProcessingClass& procClass )
00144    { procClass.Process(gData); return gData; }
00145 
00146 
00148    inline gnssRinex& operator>>( gnssRinex& gData,
00149                                  ProcessingClass& procClass )
00150    { procClass.Process(gData); return gData; }
00151 
00152 
00154 
00155 }  // End of namespace gpstk
00156 #endif   // PROCESSINGCLASS_HPP

Generated on Fri Feb 3 03:31:03 2012 for GPS ToolKit Software Library by  doxygen 1.3.9.1