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

📄 serializer.h

📁 在LINUX下运行的仿真机器人服务器源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
// -*-c++-*-/***************************************************************************                                 serializer.h                      Classes for serializing data to clients                             -------------------    begin                : 27-JAN-2002    copyright            : (C) 2002 by The RoboCup Soccer Server                            Maintenance Group.    email                : sserver-admin@lists.sourceforge.net ***************************************************************************//*************************************************************************** *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU LGPL as published by the Free Software  * *   Foundation; either version 2 of the License, or (at your option) any  * *   later version.                                                        * *                                                                         * ***************************************************************************/#ifndef _SERIALIZER_H_#define _SERIALIZER_H_#include <string>#include <iostream>#include <map>#include "types.h"#include <rcssbase/lib/factory.hpp>namespace rcss{  namespace clang  {     class Msg;  }  class SerializerCommon  {  protected:      SerializerCommon();      virtual      ~SerializerCommon();  public:      typedef const SerializerCommon&(*Creator)();          typedef rcss::lib::Factory< Creator, int > Factory;          static      Factory&      factory();      virtual      void      serializeServerParamBegin( std::ostream& ) const      {}            virtual      void      serializeServerParamEnd( std::ostream& ) const      {}            virtual      void      serializePlayerParamBegin( std::ostream& ) const      {}            virtual      void      serializePlayerParamEnd( std::ostream& ) const      {}            virtual      void      serializePlayerTypeBegin( std::ostream& ) const      {}            virtual      void      serializePlayerTypeEnd( std::ostream& ) const      {}            virtual      void      serializeParam( std::ostream&, int ) const      {}      virtual      void      serializeParam( std::ostream&, unsigned int ) const      {}      virtual      void      serializeParam( std::ostream&, bool ) const      {}      virtual      void      serializeParam( std::ostream&, double ) const      {}      virtual      void      serializeParam( std::ostream&, const std::string& ) const      {}      virtual      void      serializeParam( std::ostream&,                      const std::string&,                      int ) const      {}      virtual      void      serializeParam( std::ostream&,                      const std::string&,                      bool ) const      {}      virtual      void      serializeParam( std::ostream&,                      const std::string&,                      double ) const      {}      virtual      void      serializeParam( std::ostream&,                      const std::string&,                      const std::string& ) const      {}  };    class Serializer    {    public:        Serializer( const SerializerCommon& common )            : m_common( common )        {}    protected:        const SerializerCommon&        commonSerializer() const        { return m_common; }   public:         void        serializeServerParamBegin( std::ostream& strm ) const        { commonSerializer().serializeServerParamBegin( strm ); }            void      serializeServerParamEnd( std::ostream& strm ) const      { commonSerializer().serializeServerParamEnd( strm ); }            void      serializePlayerParamBegin( std::ostream& strm ) const      { commonSerializer().serializePlayerParamBegin( strm ); }            void      serializePlayerParamEnd( std::ostream& strm ) const      { commonSerializer().serializePlayerParamEnd( strm ); }            void      serializePlayerTypeBegin( std::ostream& strm ) const      { commonSerializer().serializePlayerTypeBegin( strm ); }              void      serializePlayerTypeEnd( std::ostream& strm ) const      { commonSerializer().serializePlayerTypeEnd( strm ); }            void      serializeParam( std::ostream& strm, int value ) const      { commonSerializer().serializeParam( strm, value ); }      void      serializeParam( std::ostream& strm, unsigned int value ) const      { commonSerializer().serializeParam( strm, value ); }      void      serializeParam( std::ostream& strm, bool value ) const      { commonSerializer().serializeParam( strm, value ); }      void      serializeParam( std::ostream& strm, double value ) const      { commonSerializer().serializeParam( strm, value ); }      void      serializeParam( std::ostream& strm, const std::string& value ) const      { commonSerializer().serializeParam( strm, value ); }      void      serializeParam( std::ostream& strm,                      const std::string& name,                      int value ) const      { commonSerializer().serializeParam( strm, name, value ); }      void      serializeParam( std::ostream& strm,                      const std::string& name,                      bool value ) const      { commonSerializer().serializeParam( strm, name, value ); }      void      serializeParam( std::ostream& strm,                      const std::string& name,                      double value ) const      { commonSerializer().serializeParam( strm, name, value ); }      void      serializeParam( std::ostream& strm,                      const std::string& name,                      const std::string& value ) const      { commonSerializer().serializeParam( strm, name, value ); }    private:        const SerializerCommon& m_common;    };  class SerializerPlayer      : public Serializer  {  public:      typedef const SerializerPlayer*(*Creator)();          typedef rcss::lib::Factory< Creator, int > Factory;          static      Factory&      factory();  protected:    SerializerPlayer( const SerializerCommon& common );    virtual     ~SerializerPlayer();  public:    virtual    void    serializeRefAudio( std::ostream& strm,                       const int& time,                        const char* msg ) const = 0;    virtual    void    serializeCoachAudio( std::ostream& strm,                         const int& time,                         const std::string& name,                         const char* msg ) const = 0;    virtual    void    serializeCoachStdAudio( std::ostream& strm,                            const int& time,                            const std::string& name,                            const clang::Msg& msg ) const = 0;    virtual    void    serializeSelfAudio( std::ostream& strm,                        const int& time,                        const char* msg ) const = 0;    virtual    void    serializePlayerAudio( std::ostream& strm,                          const int& time,                          const double& dir,                          const char* msg ) const = 0;    virtual    void    serializeAllyAudioFull( std::ostream&,                            const int,                            const double,                            const int,                            const char* ) const      {}    virtual    void    serializeOppAudioFull( std::ostream&,                           const int,                           const double,                           const char* ) const    {}    virtual    void    serializeAllyAudioShort( std::ostream&,                             const int,                             const int ) const    {}      virtual    void    serializeOppAudioShort( std::ostream&,                            const int ) const    {}    virtual    void    serializeVisualBegin( std::ostream&,                          int ) const    {}    virtual    void    serializeVisualEnd( std::ostream& ) const    {}    virtual    void    serializeVisualObject( std::ostream&,                     const char*,                     int ) const    {}    virtual    void    serializeVisualObject( std::ostream&,                     const char*,                     double, int) const    {}    virtual    void    serializeVisualObject( std::ostream&,                     const char*,                     double, int,                     double, double ) const    {}    virtual    void    serializeVisualObject( std::ostream&,                     const char*,                     double, int,                     double, double,                     double ) const    {}    virtual    void    serializeVisualObject( std::ostream&,                     const char*,                     double, int,                     double, double,                     double, double ) const    {}                 virtual      void      serializeVisualObject( std::ostream&,                             const char*,                             double, int,                             double, double,                             int, int ) const      {}                 virtual      void      serializeVisualObject( std::ostream&,                             const char*,                             double, int,                             bool ) const      {}                 virtual      void      serializeVisualObject( std::ostream&,                             const char*,                             double, int,                             int, bool ) const      {}      virtual      void      serializeVisualObject( std::ostream&,                             const char*,                             double, int,                             double, double,                             int, int,                             bool ) const      {}                 virtual      void      serializeVisualObject( std::ostream&,                             const char*,                             double, int,                             double, double,                             int, int,                             int, bool ) const      {}                 virtual      void      serializeBodyBegin( std::ostream&, int ) const      {}      virtual      void      serializeBodyEnd( std::ostream& ) const      {}      virtual      void

⌨️ 快捷键说明

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