Show
Ignore:
Timestamp:
04/02/08 14:18:07 (8 months ago)
Author:
cneumann
Message:

replaced pointer field implementation
split FieldContainer/Fields? directory into Base and Handle subdir

Status: - ref counting seems to work (mt, cluster)

  • new OSB loader works (well, the unittest does)
  • VRML loader is deactivated
  • get/edit handle for dynamic (pointer) fields missing
  • need to remove some more old files - they get moved in this commit
  • generated (i.e. base) code in following commit
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Carsten_PtrWork2/Source/System/FieldContainer/Base/OSGChangeList.h

    r1030 r1072  
    5656#include "OSGStatElemTypes.h" 
    5757 
     58#include "OSGContainerForwards.h" 
     59 
    5860#include <list> 
    5961#include <vector> 
     
    6870class AspectStore; 
    6971 
     72class RecordedRefCountPolicyX; 
     73 
    7074/*! \ingroup GrpSystemMultithreading 
    7175 */ 
     
    7579    enum EntryType 
    7680    { 
    77         Create               = 0x0001, 
    78         AddExternalReference = 0x0002, 
    79         SubExternalReference = 0x0004, 
    80         Change               = 0x0010 
     81        Create           = 0x0001,      // transmitted entries 
     82        AddReference     = 0x0002, 
     83        SubReference     = 0x0004, 
     84         
     85        Change           = 0x0010,      // transmitted & local entries 
     86         
     87        ResolveCandidate = 0x0100,      // local entries 
     88        DestroyCandidate = 0x0200 
    8189    }; 
    8290 
     
    114122    } 
    115123 
    116     void commitChanges(void); 
     124    void commitChanges(FieldContainerPtr pObj); 
    117125}; 
    118126 
     
    232240    /*=========================  PROTECTED  ===============================*/ 
    233241 
    234     typedef void (ContainerChangeEntry::*CommitFunction)(void); 
     242    typedef void (ContainerChangeEntry::*CommitFunction)(FieldContainerPtr); 
    235243 
    236244  protected: 
     
    279287    /*! \{                                                                 */ 
    280288 
    281     void addAddExternalRef(const UInt32 uiContainerId); 
    282     void addSubExternalRef(const UInt32 uiContainerId); 
    283                              
    284     void addCreated       (const UInt32 uiContainerId); 
    285  
     289    void addAddReference(const UInt32 uiContainerId); 
     290    void addSubReference(const UInt32 uiContainerId); 
     291     
     292    void addCreated     (const UInt32 uiContainerId); 
     293     
    286294    /*! \}                                                                 */ 
    287295    /*---------------------------------------------------------------------*/ 
     
    343351    friend class FieldContainer; 
    344352    friend class AspectStore; 
     353    friend class RecordedRefCountPolicyX; 
    345354 
    346355    typedef MemoryObject Inherited;