Ignore:
Timestamp:
02/13/12 19:35:25 (12 years ago)
Author:
ymipsl
Message:

nouvelle version de developpement de xios

  • nouvelle interface fortran
  • recodage complet de la couche de communication
  • et bien d'autres choses...

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XMLIO_V2/dev/common/src/fortran/icxml_tree.cpp

    r286 r300  
    4343   { 
    4444      std::string child_id_str;  
    45       boost::shared_ptr<xmlioserver::tree::CFieldGroup> fieldgroup = 
    46          xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CFieldGroup>(parent_); 
    47  
    48       if (cstr2string(child_id, child_id_size, child_id_str)) 
    49          *child_ = xmlioserver::CGroupFactory::CreateChild(fieldgroup, child_id_str).get(); 
    50       else 
    51          *child_ = xmlioserver::CGroupFactory::CreateChild(fieldgroup).get(); 
    52    } 
     45 
     46      if (cstr2string(child_id, child_id_size, child_id_str)) 
     47      { 
     48         *child_ = parent_->createChild(child_id_str).get() ; 
     49         parent_->sendCreateChild(child_id_str) ; 
     50      } 
     51      else 
     52      { 
     53         *child_ = parent_->createChild().get() ; 
     54         parent_->sendCreateChild() ; 
     55      } 
     56  } 
    5357    
    5458   void cxios_xml_tree_add_grid 
     
    5660   { 
    5761      std::string child_id_str;  
    58       boost::shared_ptr<xmlioserver::tree::CGridGroup> gridgroup = 
    59          xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CGridGroup>(parent_); 
    60  
    61       if (cstr2string(child_id, child_id_size, child_id_str)) 
    62          *child_ = xmlioserver::CGroupFactory::CreateChild(gridgroup, child_id_str).get(); 
    63       else 
    64          *child_ = xmlioserver::CGroupFactory::CreateChild(gridgroup).get(); 
     62      if (cstr2string(child_id, child_id_size, child_id_str)) 
     63      { 
     64         *child_ = parent_->createChild(child_id_str).get() ; 
     65         parent_->sendCreateChild(child_id_str) ; 
     66      } 
     67      else 
     68      { 
     69         *child_ = parent_->createChild().get() ; 
     70         parent_->sendCreateChild() ; 
     71      } 
    6572   } 
    6673    
     
    6976   { 
    7077      std::string child_id_str;  
    71       boost::shared_ptr<xmlioserver::tree::CFileGroup> filegroup = 
    72          xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CFileGroup>(parent_); 
    73  
    74       if (cstr2string(child_id, child_id_size, child_id_str)) 
    75          *child_ = xmlioserver::CGroupFactory::CreateChild(filegroup, child_id_str).get(); 
    76       else 
    77          *child_ = xmlioserver::CGroupFactory::CreateChild(filegroup).get(); 
     78      if (cstr2string(child_id, child_id_size, child_id_str)) 
     79      { 
     80         *child_ = parent_->createChild(child_id_str).get() ; 
     81         parent_->sendCreateChild(child_id_str) ; 
     82      } 
     83      else 
     84      { 
     85         *child_ = parent_->createChild().get() ; 
     86         parent_->sendCreateChild() ; 
     87      } 
    7888   } 
    7989    
     
    8292   { 
    8393      std::string child_id_str;  
    84       boost::shared_ptr<xmlioserver::tree::CAxisGroup> axisgroup = 
    85          xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CAxisGroup>(parent_); 
    86  
    87       if (cstr2string(child_id, child_id_size, child_id_str)) 
    88          *child_ = xmlioserver::CGroupFactory::CreateChild(axisgroup, child_id_str).get(); 
    89       else 
    90          *child_ = xmlioserver::CGroupFactory::CreateChild(axisgroup).get(); 
     94      if (cstr2string(child_id, child_id_size, child_id_str)) 
     95      { 
     96         *child_ = parent_->createChild(child_id_str).get() ; 
     97         parent_->sendCreateChild(child_id_str) ; 
     98      } 
     99      else 
     100      { 
     101         *child_ = parent_->createChild().get() ; 
     102         parent_->sendCreateChild() ; 
     103      } 
    91104   } 
    92105    
     
    95108   { 
    96109      std::string child_id_str;  
    97       boost::shared_ptr<xmlioserver::tree::CDomainGroup> domaingroup = 
    98          xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CDomainGroup>(parent_); 
    99  
    100       if (cstr2string(child_id, child_id_size, child_id_str)) 
    101          *child_ = xmlioserver::CGroupFactory::CreateChild(domaingroup, child_id_str).get(); 
    102       else 
    103          *child_ = xmlioserver::CGroupFactory::CreateChild(domaingroup).get(); 
     110      if (cstr2string(child_id, child_id_size, child_id_str)) 
     111      { 
     112         *child_ = parent_->createChild(child_id_str).get() ; 
     113         parent_->sendCreateChild(child_id_str) ; 
     114      } 
     115      else 
     116      { 
     117         *child_ = parent_->createChild().get() ; 
     118         parent_->sendCreateChild() ; 
     119      } 
    104120   } 
    105121    
     
    108124   { 
    109125      std::string child_id_str;  
    110       boost::shared_ptr<xmlioserver::tree::CFile> file = 
    111          xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CFile>(parent_); 
    112  
    113       if (file->getVirtualFieldGroup().get() == 0 ) 
    114           file->setVirtualFieldGroup(file->getId()); 
    115  
    116       if (cstr2string(child_id, child_id_size, child_id_str)) 
    117          *child_ = xmlioserver::CGroupFactory::CreateChild(file->getVirtualFieldGroup(), child_id_str).get(); 
    118       else 
    119          *child_ = xmlioserver::CGroupFactory::CreateChild(file->getVirtualFieldGroup()).get(); 
     126  
     127      if (cstr2string(child_id, child_id_size, child_id_str)) 
     128      { 
     129         *child_ = parent_->addField(child_id_str).get(); 
     130         parent_->sendAddField(child_id_str) ; 
     131      } 
     132      else 
     133      { 
     134         *child_ = parent_->addField().get(); 
     135         parent_->sendAddField() ; 
     136      } 
    120137   } 
    121138 
     
    125142      (XFieldGroupPtr  parent_, XFieldGroupPtr * child_, const char * child_id, int child_id_size) 
    126143   { 
    127       std::string child_id_str; 
    128       boost::shared_ptr<xmlioserver::tree::CFieldGroup> fieldgroup = 
    129          xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CFieldGroup>(parent_); 
    130  
    131       if (cstr2string(child_id, child_id_size, child_id_str)) 
    132          *child_ = xmlioserver::CGroupFactory::CreateGroup(fieldgroup, child_id_str).get(); 
    133       else 
    134          *child_ = xmlioserver::CGroupFactory::CreateGroup(fieldgroup).get(); 
     144     std::string child_id_str;  
     145 
     146      if (cstr2string(child_id, child_id_size, child_id_str)) 
     147      { 
     148         *child_ = parent_->createChildGroup(child_id_str).get() ; 
     149         parent_->sendCreateChildGroup(child_id_str) ; 
     150      } 
     151      else 
     152      { 
     153         *child_ = parent_->createChildGroup().get() ; 
     154         parent_->sendCreateChildGroup(child_id_str) ; 
     155      } 
    135156   } 
    136157 
     
    139160   { 
    140161      std::string child_id_str; 
    141       boost::shared_ptr<xmlioserver::tree::CGridGroup> gridgroup = 
    142          xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CGridGroup>(parent_); 
    143  
    144       if (cstr2string(child_id, child_id_size, child_id_str)) 
    145          *child_ = xmlioserver::CGroupFactory::CreateGroup(gridgroup, child_id_str).get(); 
    146       else 
    147          *child_ = xmlioserver::CGroupFactory::CreateGroup(gridgroup).get(); 
     162  
     163      if (cstr2string(child_id, child_id_size, child_id_str)) 
     164      { 
     165         *child_ = parent_->createChildGroup(child_id_str).get() ; 
     166         parent_->sendCreateChildGroup(child_id_str) ; 
     167      } 
     168      else 
     169      { 
     170         *child_ = parent_->createChildGroup().get() ; 
     171         parent_->sendCreateChildGroup(child_id_str) ; 
     172      } 
    148173   } 
    149174 
     
    152177   { 
    153178      std::string child_id_str; 
    154       boost::shared_ptr<xmlioserver::tree::CFileGroup> filegroup = 
    155          xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CFileGroup>(parent_); 
    156  
    157       if (cstr2string(child_id, child_id_size, child_id_str)) 
    158          *child_ = xmlioserver::CGroupFactory::CreateGroup(filegroup, child_id_str).get(); 
    159       else 
    160          *child_ = xmlioserver::CGroupFactory::CreateGroup(filegroup).get(); 
     179      if (cstr2string(child_id, child_id_size, child_id_str)) 
     180      { 
     181         *child_ = parent_->createChildGroup(child_id_str).get() ; 
     182         parent_->sendCreateChildGroup(child_id_str) ; 
     183      } 
     184      else 
     185      { 
     186         *child_ = parent_->createChildGroup().get() ; 
     187         parent_->sendCreateChildGroup(child_id_str) ; 
     188      } 
    161189   } 
    162190 
     
    165193   { 
    166194      std::string child_id_str; 
    167       boost::shared_ptr<xmlioserver::tree::CAxisGroup> axisgroup = 
    168          xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CAxisGroup>(parent_); 
    169  
    170       if (cstr2string(child_id, child_id_size, child_id_str)) 
    171          *child_ = xmlioserver::CGroupFactory::CreateGroup(axisgroup, child_id_str).get(); 
    172       else 
    173          *child_ = xmlioserver::CGroupFactory::CreateGroup(axisgroup).get(); 
     195      if (cstr2string(child_id, child_id_size, child_id_str)) 
     196      { 
     197         *child_ = parent_->createChildGroup(child_id_str).get() ; 
     198         parent_->sendCreateChildGroup(child_id_str) ; 
     199      } 
     200      else 
     201      { 
     202         *child_ = parent_->createChildGroup().get() ; 
     203         parent_->sendCreateChildGroup(child_id_str) ; 
     204      } 
    174205   } 
    175206 
     
    178209   { 
    179210      std::string child_id_str; 
    180       boost::shared_ptr<xmlioserver::tree::CDomainGroup> domaingroup = 
    181          xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CDomainGroup>(parent_); 
    182  
    183       if (cstr2string(child_id, child_id_size, child_id_str)) 
    184          *child_ = xmlioserver::CGroupFactory::CreateGroup(domaingroup, child_id_str).get(); 
    185       else 
    186          *child_ = xmlioserver::CGroupFactory::CreateGroup(domaingroup).get(); 
     211      if (cstr2string(child_id, child_id_size, child_id_str)) 
     212      { 
     213         *child_ = parent_->createChildGroup(child_id_str).get() ; 
     214         parent_->sendCreateChildGroup(child_id_str) ; 
     215      } 
     216      else 
     217      { 
     218         *child_ = parent_->createChildGroup().get() ; 
     219         parent_->sendCreateChildGroup(child_id_str) ; 
     220      } 
    187221   } 
    188222 
     
    191225   { 
    192226      std::string child_id_str;  
    193       boost::shared_ptr<xmlioserver::tree::CFile> file = 
    194          xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CFile>(parent_); 
    195  
    196       if (file->getVirtualFieldGroup().get() == 0 ) 
    197           file->setVirtualFieldGroup(file->getId()); 
    198        
    199       if (cstr2string(child_id, child_id_size, child_id_str)) 
    200          *child_ = xmlioserver::CGroupFactory::CreateGroup(file->getVirtualFieldGroup(), child_id_str).get(); 
    201       else 
    202          *child_ = xmlioserver::CGroupFactory::CreateGroup(file->getVirtualFieldGroup()).get(); 
     227  
     228      if (cstr2string(child_id, child_id_size, child_id_str)) 
     229      { 
     230         *child_ = parent_->addFieldGroup(child_id_str).get(); 
     231         parent_->sendAddFieldGroup(child_id_str) ; 
     232      } 
     233      else 
     234      { 
     235         *child_ = parent_->addFieldGroup().get(); 
     236         parent_->sendAddFieldGroup() ; 
     237      } 
    203238   } 
    204239    
Note: See TracChangeset for help on using the changeset viewer.