Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 9261 in orxonox.OLD


Ignore:
Timestamp:
Jul 12, 2006, 6:07:36 PM (18 years ago)
Author:
patrick
Message:

new permission scheme added

Location:
branches/proxy/src/lib/network
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • branches/proxy/src/lib/network/handshake.cc

    r9235 r9261  
    3333  this->setIsServer(server);
    3434
     35  // register all variable handlers
    3536  orxId_handler = registerVarId( new SynchronizeableInt( &localState.orxId, &remoteState.orxId, "orxonoxId", PERMISSION_ALL ) );
    3637  version_handler = registerVarId( new SynchronizeableInt( &localState.version, &remoteState.version, "version", PERMISSION_ALL ) );
     
    4344
    4445  candel_id = registerVarId( new SynchronizeableInt( &localState.canDel, &remoteState.canDel, "canDel", PERMISSION_ALL ) );
    45  
     46
    4647  registerVar( new SynchronizeableString( &localState.preferedNickName, &remoteState.preferedNickName, "preferedNickName", PERMISSION_ALL ) );
    4748
     49  // init the local state
    4850  localState.completed = 0;
    4951  localState.error = 0;
     
    6668  remoteState.canDel = 0;
    6769
     70  // activate the synchronization process
    6871  this->setSynchronized(true);
    6972  PRINTF(0)("Handshake created clientId = %d\n", clientId);
  • branches/proxy/src/lib/network/synchronizeable.cc

    r9249 r9261  
    222222  {
    223223    hasPermission = (
    224             this->isServer() && (*it)->checkPermission( PERMISSION_SERVER ) ||
     224            this->isServer() && (*it)->checkPermission( PERMISSION_MASTER_SERVER ) ||
    225225        this->owner == SharedNetworkData::getInstance()->getHostID() && (*it)->checkPermission( PERMISSION_OWNER ) ||
    226226            this->isServer() && this->owner != userId && (*it)->checkPermission( PERMISSION_OWNER ) ||
     
    344344  {
    345345    if (
    346         (*it)->checkPermission( PERMISSION_SERVER ) && networkStream->isUserMasterServer( userId ) ||
     346        (*it)->checkPermission( PERMISSION_MASTER_SERVER ) && networkStream->isUserMasterServer( userId ) ||
    347347        (*it)->checkPermission( PERMISSION_OWNER ) && this->owner == userId ||
    348348        networkStream->isUserMasterServer( userId ) && this->owner != SharedNetworkData::getInstance()->getHostID() && (*it)->checkPermission( PERMISSION_OWNER ) ||
     
    361361    else
    362362    {
    363 //      PRINTF(0)("DONT SET VAR BECAUSE OF PERMISSION: %s %d %d %d %d %d %d\n", (*it)->getName().c_str(), (*it)->checkPermission( PERMISSION_SERVER ), (*it)->checkPermission( PERMISSION_OWNER ), (*it)->checkPermission( PERMISSION_ALL ), networkStream->isUserServer( userId ), this->owner, userId );
     363//      PRINTF(0)("DONT SET VAR BECAUSE OF PERMISSION: %s %d %d %d %d %d %d\n", (*it)->getName().c_str(), (*it)->checkPermission( PERMISSION_MASTER_SERVER ), (*it)->checkPermission( PERMISSION_OWNER ), (*it)->checkPermission( PERMISSION_ALL ), networkStream->isUserServer( userId ), this->owner, userId );
    364364      n = (*it)->getSizeFromBuf( stateTo->data + i, stateTo->dataLength - i );
    365365      //NETPRINTF(0)("%s::setvar %s %d\n", getClassName(), (*it)->getName().c_str(), n);
  • branches/proxy/src/lib/network/synchronizeable_var/synchronizeable_bool.h

    r7954 r9261  
    1212
    1313  public:
    14     SynchronizeableBool( bool * ptrIn, bool * ptrOut, std::string name, int permission = PERMISSION_SERVER, int priority = 0 );
     14    SynchronizeableBool( bool * ptrIn, bool * ptrOut, std::string name, int permission = PERMISSION_MASTER_SERVER, int priority = 0 );
    1515    virtual ~SynchronizeableBool();
    1616   
  • branches/proxy/src/lib/network/synchronizeable_var/synchronizeable_float.h

    r7954 r9261  
    1212
    1313  public:
    14     SynchronizeableFloat( float * ptrIn, float * ptrOut, std::string name, int permission = PERMISSION_SERVER, int priority = 0 );
     14    SynchronizeableFloat( float * ptrIn, float * ptrOut, std::string name, int permission = PERMISSION_MASTER_SERVER, int priority = 0 );
    1515    virtual ~SynchronizeableFloat();
    1616   
  • branches/proxy/src/lib/network/synchronizeable_var/synchronizeable_int.h

    r7954 r9261  
    1212
    1313  public:
    14     SynchronizeableInt( int * ptrIn, int * ptrOut, std::string name, int permission = PERMISSION_SERVER, int priority = 0 );
     14    SynchronizeableInt( int * ptrIn, int * ptrOut, std::string name, int permission = PERMISSION_MASTER_SERVER, int priority = 0 );
    1515    virtual ~SynchronizeableInt();
    1616   
  • branches/proxy/src/lib/network/synchronizeable_var/synchronizeable_quaternion.h

    r7954 r9261  
    1414
    1515  public:
    16     SynchronizeableQuaternion( Quaternion * ptrIn, Quaternion * ptrOut, std::string name, int permission = PERMISSION_SERVER, int priority = 0 );
     16    SynchronizeableQuaternion( Quaternion * ptrIn, Quaternion * ptrOut, std::string name, int permission = PERMISSION_MASTER_SERVER, int priority = 0 );
    1717    virtual ~SynchronizeableQuaternion();
    1818   
  • branches/proxy/src/lib/network/synchronizeable_var/synchronizeable_string.h

    r7954 r9261  
    1515
    1616  public:
    17     SynchronizeableString( std::string * ptrIn, std::string * ptrOut, std::string name, int permission = PERMISSION_SERVER, int priority = 0 );
     17    SynchronizeableString( std::string * ptrIn, std::string * ptrOut, std::string name, int permission = PERMISSION_MASTER_SERVER, int priority = 0 );
    1818    virtual ~SynchronizeableString();
    1919   
  • branches/proxy/src/lib/network/synchronizeable_var/synchronizeable_uint.h

    r7954 r9261  
    1212
    1313  public:
    14     SynchronizeableUInt( unsigned int * ptrIn, unsigned int * ptrOut, std::string name, int permission = PERMISSION_SERVER, int priority = 0 );
     14    SynchronizeableUInt( unsigned int * ptrIn, unsigned int * ptrOut, std::string name, int permission = PERMISSION_MASTER_SERVER, int priority = 0 );
    1515    virtual ~SynchronizeableUInt();
    1616   
  • branches/proxy/src/lib/network/synchronizeable_var/synchronizeable_var.h

    r7954 r9261  
    1212
    1313enum {
    14   PERMISSION_SERVER = 1,
    15   PERMISSION_OWNER  = 2,
    16   PERMISSION_ALL    = 4
     14  PERMISSION_MASTER_SERVER = 1,
     15  PERMISSION_PROXY_SERVER  = 2,
     16  PERMISSION_OWNER         = 4,
     17  PERMISSION_ALL           = 8
    1718};
    1819
     
    2021
    2122  public:
    22     SynchronizeableVar( void * ptrIn, void * ptrOut, std::string name, int length, int permission = PERMISSION_SERVER, int priority = 0 );
     23    SynchronizeableVar( void * ptrIn, void * ptrOut, std::string name, int length, int permission = PERMISSION_MASTER_SERVER, int priority = 0 );
    2324    virtual ~SynchronizeableVar();
    2425
     
    2829     */
    2930    inline bool beWatched(){ return this->bWatched; }
    30    
    31     /** 
     31
     32    /**
    3233     * set flag if synchronizeable wants to be informed on changes
    3334     */
     
    9697     */
    9798    inline void resetPriority() { this->priority = this->realPriority; }
    98    
     99
    99100    /**
    100101     * reads actual size from buffer. this is used when size is not constant
     
    104105     */
    105106    virtual inline int getSizeFromBuf( byte * buf, int maxLength ){ return this->getSize(); }
    106    
     107
    107108    /**
    108109     * set variable id
     
    110111     */
    111112    inline void setVarId( int id ){ this->varId = id; }
    112    
    113     /** 
     113
     114    /**
    114115     * get variable id
    115116     * @return variable id
    116117     */
    117118    inline int getVarId(){ return varId; }
    118    
     119
    119120    /**
    120121     * set hasChanged
     
    122123     */
    123124    inline void setHasChanged( bool changed ){ this->changed = changed; }
    124    
    125     /** 
     125
     126    /**
    126127     * get hasChanged
    127128     * @return variable id
    128129     */
    129130    inline bool getHasChanged(){ return changed; }
    130    
     131
    131132    /**
    132133     * print out variable value
     
    137138  private:
    138139    bool bWatched;      //!< true if synchronizeable wants to be informed on changes
    139    
     140
    140141    int permission;     //!< who is allowed to change this var
    141142    int priority;       //!< priority assigned to var
    142143    int realPriority;   //!< priority assigned to var, increased every time not sent
    143144    int varId;          //!< id to identify varables
    144    
     145
    145146    bool changed;       //!< true if last readFromBuf changed anything
    146147
  • branches/proxy/src/lib/network/synchronizeable_var/synchronizeable_vector.h

    r7954 r9261  
    1414
    1515  public:
    16     SynchronizeableVector( Vector * ptrIn, Vector * ptrOut, std::string name, int permission = PERMISSION_SERVER, int priority = 0 );
     16    SynchronizeableVector( Vector * ptrIn, Vector * ptrOut, std::string name, int permission = PERMISSION_MASTER_SERVER, int priority = 0 );
    1717    virtual ~SynchronizeableVector();
    1818   
Note: See TracChangeset for help on using the changeset viewer.