Ignore:
Timestamp:
07/17/15 13:58:12 (9 years ago)
Author:
rlacroix
Message:

Start using the filter infrastructure to read and write fields.

Note that currently only the simple cases are working. References and all types of operations are disabled.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/node/context.cpp

    r639 r640  
    4646 
    4747   //---------------------------------------------------------------- 
     48 
    4849   /*! 
    4950   \brief Get context group (context root) 
     
    5657   } 
    5758 
    58  
    5959   //---------------------------------------------------------------- 
     60 
    6061   /*! 
    6162   \brief Get calendar of a context 
     
    6869 
    6970   //---------------------------------------------------------------- 
     71 
    7072   /*! 
    7173   \brief Set a context with a calendar 
     
    386388    if (hasClient) 
    387389    { 
     390      //this->buildAllExpressionOfEnabledFields(); 
     391      //buildAllExpressionOfFieldsWithReadAccess(); 
     392      this->buildFilterGraphOfEnabledFields(); 
     393      buildFilterGraphOfFieldsWithReadAccess(); 
    388394      this->solveAllRefOfEnabledFields(true); 
    389       this->buildAllExpressionOfEnabledFields(); 
    390       buildAllExpressionOfFieldsWithReadAccess(); 
    391395    } 
    392396 
     
    426430     { 
    427431       this->enabledFiles[i]->buildAllExpressionOfEnabledFields(); 
     432     } 
     433   } 
     434 
     435   void CContext::buildFilterGraphOfEnabledFields() 
     436   { 
     437     int size = this->enabledFiles.size(); 
     438     for (int i = 0; i < size; ++i) 
     439     { 
     440       this->enabledFiles[i]->buildFilterGraphOfEnabledFields(garbageCollector); 
    428441     } 
    429442   } 
     
    474487    for (size_t i = 0; i < fieldsWithReadAccess.size(); ++i) 
    475488      fieldsWithReadAccess[i]->buildAllExpressionEnabledField(); 
     489  } 
     490 
     491  void CContext::buildFilterGraphOfFieldsWithReadAccess() 
     492  { 
     493    for (size_t i = 0; i < fieldsWithReadAccess.size(); ++i) 
     494      fieldsWithReadAccess[i]->buildFilterGraph(garbageCollector, true); 
    476495  } 
    477496 
Note: See TracChangeset for help on using the changeset viewer.