⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdpheader.hpp

📁 gps源代码
💻 HPP
字号:
#pragma ident "$Id: MDPHeader.hpp 688 2007-07-16 20:50:00Z pben $"//============================================================================////  This file is part of GPSTk, the GPS Toolkit.////  The GPSTk is free software; you can redistribute it and/or modify//  it under the terms of the GNU Lesser General Public License as published//  by the Free Software Foundation; either version 2.1 of the License, or//  any later version.////  The GPSTk is distributed in the hope that it will be useful,//  but WITHOUT ANY WARRANTY; without even the implied warranty of//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the//  GNU Lesser General Public License for more details.////  You should have received a copy of the GNU Lesser General Public//  License along with GPSTk; if not, write to the Free Software Foundation,//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA//  //  Copyright 2004, The University of Texas at Austin////============================================================================//============================================================================////This software developed by Applied Research Laboratories at the University of//Texas at Austin, under contract to an agency or agencies within the U.S. //Department of Defense. The U.S. Government retains all rights to use,//duplicate, distribute, disclose, or release this software. ////Pursuant to DoD Directive 523024 //// DISTRIBUTION STATEMENT A: This software has been approved for public //                           release, distribution is unlimited.////=============================================================================#ifndef MDPHEADER_HPP#define MDPHEADER_HPP/** * @file MDPHeader.hpp * gpstk::MDPHeader - base cass for MDP formatted data. Includes the MDP header. */#include <map>#include <iostream>#include <Exception.hpp>#include <DayTime.hpp>#include <StringUtils.hpp>#include <BinUtils.hpp>#include <FFData.hpp>#include <FFStream.hpp>#include <DataStatus.hpp>#include <RinexObsData.hpp>#if !defined( __SUNPRO_CC ) && !defined( _MSC_VER )#include <stdint.h>#endifnamespace gpstk{   class MDPStream;   /// This class contains header information for all data types   /// transmitted by receiver meeting the MDP specification.   class MDPHeader : public FFData, public CRCDataStatus   {   public:      MDPHeader() throw() : id(0) {}      // Returns whether or not this MDPData is valid.      bool isValid() const {return good();}      //! This class is "data" so this function always returns "true".      virtual bool isData() const {return true;}      /** Encode this object to a string.       * @return this object as a string.       */      virtual std::string encode() const throw();               /** Decode this object from a string.       * @param str the string to read from.       * @note Decoded data is *NOT* removed from the string.       */      virtual void decode(std::string str) throw();      /// Simple accessors for various static thangs.      virtual std::string getName() const {return "hdr";}      /** Dump some debugging information to the given ostream.       * @param out the ostream to write to       */      void dump(std::ostream& out) const throw();      /// Compute the CRC over the string and set the CRC in that      /// string and in the header.      void setCRC(std::string& str) const throw();               /// Checks the crc of the message and set crc_err if it fails.      void checkCRC(std::string str) throw();      unsigned short id;              ///< Identifies this data's type.      gpstk::DayTime time;            ///< The time associated with this message      unsigned short freshnessCount;  ///< A message counter      // These items need to be mutable so they can be set when an object      // is sent to a stream.      mutable unsigned short length;  ///< number of bytes in this message (includes the length of the header)      mutable unsigned short crc;     ///< the 16 bit CCITT crc covering the header and body of the message      static const unsigned myLength;  ///< = 16      static const unsigned frameWord; ///< = 0x9c9c      static int debugLevel;      static bool hexDump;      void readHeader(MDPStream& s)         throw(FFStreamError, EndOfFile);      std::string readBody(MDPStream& s)         throw(FFStreamError, EndOfFile);   protected:      virtual void reallyPutRecord(FFStream& s) const          throw(std::exception, StringUtils::StringException,                FFStreamError);      virtual void reallyGetRecord(FFStream& s)         throw(std::exception, StringUtils::StringException,                FFStreamError, EndOfFile);   }; // class MDPHeader} // namespace gpstk#endif // MDPHEADER_HPP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -