Changeset 109
- Timestamp:
- 06/18/10 15:46:34 (14 years ago)
- Location:
- XMLIO_V2/dev/dev_rv/src/XMLIO
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/dev_rv/src/XMLIO/field.hpp
r108 r109 21 21 { 22 22 if(!field_ref._hasValue()) return (NULL); 23 string refname = field_ref; 24 if (!CField::HasObject(refname)) 25 { WARNING("Référence invalide sur l'objet "+GetName()+" nommé \""+refname+"\""); return (NULL);} 23 if (!CField::HasObject(field_ref)) 24 { WARNING("Référence invalide sur l'objet "+GetName()+" nommé \""+((string)field_ref)+"\""); return (NULL);} 26 25 27 26 return (&CField::GetObject(field_ref)); … … 38 37 attributes.clear(); 39 38 40 /// PARSING POUR GESION DES ENFANTS 39 /// PARSING POUR GESION DES ENFANTS /// 41 40 // Rien à faire. 42 41 } -
XMLIO_V2/dev/dev_rv/src/XMLIO/file.hpp
r108 r109 48 48 49 49 void resolveFieldRefInheritance(void) 50 { 50 { // Résolution des héritages par référence de chacun des champs contenus dans le fichier. 51 51 std::vector<CField*> allF; getAllFields(allF); 52 52 for (unsigned int i = 0; i < allF.size(); i++) allF[i]->resolveRefInheritance(); -
XMLIO_V2/dev/dev_rv/src/XMLIO/xmlio.hpp
r106 r109 7 7 8 8 #include <vector> 9 #include < deque>9 #include <set> 10 10 11 11 #include <iostream> … … 31 31 #include "file_attribut.hpp" 32 32 33 #include "field.hpp" 33 #include "field.hpp" 34 34 35 36 #include "xmlio_group_template.hpp" 35 36 #include "xmlio_group_template.hpp" 37 37 #include "field_group.hpp" 38 38 39 #include "file.hpp" 39 #include "file.hpp" 40 40 #include "file_group.hpp" 41 41 42 42 #include "context.hpp" 43 #include "xmlio_xml_parser.hpp" 43 #include "xmlio_xml_parser.hpp" 44 44 45 #endif // __XMLIO__ 45 #endif // __XMLIO__ -
XMLIO_V2/dev/dev_rv/src/XMLIO/xmlio_object_template.hpp
r108 r109 50 50 virtual void resolveRefInheritance(void) 51 51 { 52 std:: vector<T*> allRef;52 std::set<T*> sset; 53 53 T* refer = (T*)this; 54 54 // On remonte le fil des héritages par référence (Boucle infinie). 55 55 while((refer = refer->getReference()) != NULL) 56 allRef.insert(allRef.begin(), baseObject = refer); 57 58 // Gestion des attributs ici. 56 { 57 if(sset.end() != sset.find(refer)) 58 { WARNING ("Dépendance circulaire stoppée pour l'objet de type "+T::GetName()+" sur \""+refer->getId()+"\" !"); break; } 59 addAttributes(*refer); 60 sset.insert(baseObject = refer); 61 } 59 62 } 60 63 -
XMLIO_V2/dev/dev_rv/src/XMLIO/xmlio_xml_node.hpp
r108 r109 19 19 using std::pair; 20 20 using std::vector; 21 using std::deque;22 21 23 22 using std::istream;
Note: See TracChangeset
for help on using the changeset viewer.