Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Mar 23, 2009, 5:00:54 PM (15 years ago)
Author:
scheusso
Message:

merge old netp branch to netp2 (still because of multiplayer pong…)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/netp2/src/network/synchronisable/SynchronisableVariable.h

    r2710 r2836  
    5656  {
    5757    public:
    58       virtual void getData(uint8_t*& mem, uint8_t mode)=0;
     58      virtual uint32_t getData(uint8_t*& mem, uint8_t mode)=0;
    5959      virtual void putData(uint8_t*& mem, uint8_t mode, bool forceCallback = false)=0;
    6060      virtual uint32_t getSize(uint8_t mode)=0;
     
    7474
    7575      virtual inline uint8_t getMode(){ return mode_; }
    76       virtual inline void getData(uint8_t*& mem, uint8_t mode);
     76      virtual inline uint32_t getData(uint8_t*& mem, uint8_t mode);
    7777      virtual inline void putData(uint8_t*& mem, uint8_t mode, bool forceCallback = false);
    7878      virtual inline uint32_t getSize(uint8_t mode);
    7979      virtual inline void* getReference(){ return (void *)&this->variable_; }
    8080    protected:
    81       bool checkEquality(uint8_t* mem);
    82       void setAndIncrease(uint8_t*& mem);
    83       void getAndIncrease(uint8_t*& mem);
    84       uint32_t returnSize();
     81      inline bool checkEquality(uint8_t* mem);
     82      inline void setAndIncrease(uint8_t*& mem);
     83      inline void getAndIncrease(uint8_t*& mem);
     84      inline uint32_t returnSize();
    8585     
    8686      T& variable_;
     
    9797     
    9898      virtual inline uint8_t getMode(){ return 0x3; } //this basically is a hack ^^
    99       virtual void getData(uint8_t*& mem, uint8_t mode);
     99      virtual inline uint32_t getData(uint8_t*& mem, uint8_t mode);
    100100      virtual void putData(uint8_t*& mem, uint8_t mode, bool forceCallback = false);
    101       virtual uint32_t getSize(uint8_t mode);
     101      virtual inline uint32_t getSize(uint8_t mode);
    102102    private:
    103103      T varBuffer_;
     
    122122  }
    123123
    124   template <class T> void SynchronisableVariable<T>::getData(uint8_t*& mem, uint8_t mode)
     124  template <class T> inline uint32_t SynchronisableVariable<T>::getData(uint8_t*& mem, uint8_t mode)
    125125  {
    126126    if ( state_ == this->mode_ )
     127    {
    127128      getAndIncrease( mem );
     129      return returnSize();
     130    }
     131    else
     132      return 0;
    128133//   mem += SynchronisableVariable<T>::getSize();
    129134  }
     
    143148  // write the data
    144149    setAndIncrease( mem );
    145 //   mem += SynchronisableVariable<T>::getSize();
    146150  // now do a callback if neccessary
    147151    if ( callback )
    148152      NetworkCallbackManager::triggerCallback( this->callback_ );
    149       //this->callback_->call();
    150   }
    151 
    152   template <class T> uint32_t SynchronisableVariable<T>::getSize(uint8_t mode)
     153  }
     154
     155  template <class T> inline uint32_t SynchronisableVariable<T>::getSize(uint8_t mode)
    153156  {
    154157    if ( mode == this->mode_ )
     
    232235    }
    233236
    234     template <class T> void SynchronisableVariableBidirectional<T>::getData(uint8_t*& mem, uint8_t mode)
     237    template <class T> uint32_t SynchronisableVariableBidirectional<T>::getData(uint8_t*& mem, uint8_t mode)
    235238    {
    236239      if ( this->mode_ == mode )
     
    248251      SynchronisableVariable<T>::getAndIncrease( mem );
    249252//   mem += SynchronisableVariable<T>::getSize();
     253      return SynchronisableVariableBidirectional::getSize(mode);
    250254    }
    251255
     
    304308    }
    305309
    306     template <class T> uint32_t SynchronisableVariableBidirectional<T>::getSize(uint8_t mode)
     310    template <class T> inline uint32_t SynchronisableVariableBidirectional<T>::getSize(uint8_t mode)
    307311    {
    308312      return SynchronisableVariable<T>::returnSize() + sizeof(varReference_);
     
    312316}
    313317
     318#include "network/synchronisable/SynchronisableVariableSpecialisations.h"
    314319
    315320#endif
Note: See TracChangeset for help on using the changeset viewer.