#include <form_dfn.h>
Inheritance diagram for NLGEORGES::CFormDfn:
Definition at line 46 of file form_dfn.h.
Public Types | |
enum | TEntryType { EntryType, EntryDfn, EntryVirtualDfn } |
Public Member Functions | |
CFormDfn () | |
uint | countParentDfn (uint32 round=0) const |
const std::string & | getComment () const |
void | getDependencies (std::set< std::string > &dependencies) const |
CEntry & | getEntry (uint entry) |
const CEntry & | getEntry (uint entry) const |
bool | getEntryByName (const std::string &name, CFormDfn::CEntry **entry) |
bool | getEntryDfn (uint entry, UFormDfn **dfn) |
bool | getEntryDfnByName (const std::string &name, UFormDfn **dfn) |
bool | getEntryFilename (uint entry, std::string &filename) const |
bool | getEntryFilenameExt (uint entry, std::string &filename) const |
bool | getEntryIndexByName (uint &entry, const std::string &name) const |
bool | getEntryName (uint entry, std::string &name) const |
bool | getEntryType (uint entry, UType **type) |
bool | getEntryType (uint entry, TEntryType &type, bool &array) const |
uint | getNumEntry () const |
uint | getNumParent () const |
uint | getNumParents () const |
bool | getParent (uint parent, UFormDfn **parentRet) |
CFormDfn * | getParent (uint parent) const |
void | getParentDfn (std::vector< const CFormDfn * > &array, uint32 round=0) const |
void | getParentDfn (std::vector< CFormDfn * > &array, uint32 round=0) |
bool | getParentFilename (uint parent, std::string &filename) const |
const std::string & | getParentFilename (uint parent) const |
const sint & | getRefCount () const |
const CFormDfn * | getSubDfn (uint index, uint &dfnIndex) const |
CFormDfn * | getSubDfn (uint index, uint &dfnIndex) |
bool | isAnArrayEntryByName (const std::string &name) const |
void | setNumEntry (uint size) |
void | setNumParent (uint size) |
void | setParent (uint parent, CFormLoader &loader, const char *filename) |
void | warning (bool exception, const char *function, const char *format,...) const |
void | write (xmlDocPtr root, const char *filename, bool georges4CVS) |
virtual | ~CFormDfn () |
Data Fields | |
sint | crefs |
CFileHeader | Header |
CPtrInfo * | pinfo |
Static Public Attributes | |
CPtrInfo | NullPtrInfo |
Private Member Functions | |
void | read (xmlNodePtr doc, CFormLoader &loader, bool forceLoad, const char *filename) |
Private Attributes | |
std::string | _Filename |
std::vector< CEntry > | Entries |
std::vector< CParent > | Parents |
uint32 | Round |
Friends | |
class | CForm |
class | CFormElm |
class | CFormElmStruct |
class | CFormLoader |
bool | convertDfnFile (const char *oldFileName, const char *newFileName) |
struct | CPtrInfo |
class | CType |
|
Definition at line 56 of file u_form_dfn.h.
00057 { 00058 EntryType, 00059 EntryDfn, 00060 EntryVirtualDfn, 00061 }; |
|
Definition at line 57 of file form_dfn.h. References Round.
00058 { 00059 Round = 0xffffffff; 00060 } |
|
Definition at line 62 of file form_dfn.h.
00062 { } |
|
Definition at line 337 of file form_dfn.cpp. References count, NLGEORGES_MAX_RECURSION, Parents, uint, uint32, and warning(). Referenced by NLGEORGES::CFormElmStruct::build(), getSubDfn(), and NLGEORGES::CFormElmStruct::read().
00338 { 00339 // Checkout recurcive calls 00340 if (round > NLGEORGES_MAX_RECURSION) 00341 { 00342 // Turn around.. 00343 warning (false, "countParentDfn", "Recurcive call on the same DFN, look for loop inheritances."); 00344 return 0; 00345 } 00346 00347 uint count = 0; 00348 uint i; 00349 for (i=0; i<Parents.size (); i++) 00350 { 00351 count += Parents[i].Parent->countParentDfn (round+1); 00352 } 00353 return count+1; 00354 } |
|
Get the comment Implements NLGEORGES::UFormDfn. Definition at line 827 of file form_dfn.cpp. References NLGEORGES::CFileHeader::Comments.
00828 { 00829 return Header.Comments; 00830 } |
|
Get dependency files Implements NLGEORGES::UFormDfn. Definition at line 863 of file form_dfn.cpp. References Entries, Parents, NLMISC::strlwr(), and uint.
00864 { 00865 // Scan only if not already inserted 00866 if (dependencies.insert (strlwr (CFile::getFilename (_Filename))).second) 00867 { 00868 // Add parents 00869 uint i; 00870 for (i=0; i<Parents.size (); i++) 00871 { 00872 Parents[i].Parent->getDependencies (dependencies); 00873 } 00874 00875 // Add entries 00876 for (i=0; i<Entries.size (); i++) 00877 { 00878 if (Entries[i].getDfnPtr ()) 00879 Entries[i].getDfnPtr ()->getDependencies (dependencies); 00880 if (Entries[i].getTypePtr ()) 00881 { 00882 dependencies.insert (strlwr (CFile::getFilename (Entries[i].getFilename()))); 00883 } 00884 } 00885 } 00886 } |
|
Definition at line 442 of file form_dfn.cpp.
00443 { 00444 return Entries[entry]; 00445 } |
|
Definition at line 435 of file form_dfn.cpp. Referenced by NLGEORGES::CFormElm::getIternalNodeByName().
00436 { 00437 return Entries[entry]; 00438 } |
|
Definition at line 734 of file form_dfn.cpp. References Entries, and NLGEORGES::CFormDfn::CEntry::getName(). Referenced by getEntryDfnByName().
|
|
Return the entry DFN pointer Doesn't look in parents DFN.
Implements NLGEORGES::UFormDfn. Definition at line 718 of file form_dfn.cpp. References Entries, uint, and warning().
00719 { 00720 if (entry < Entries.size ()) 00721 { 00722 if (Entries[entry].TypeElement == EntryDfn) 00723 { 00724 *dfn = Entries[entry].Dfn; 00725 return true; 00726 } 00727 else 00728 warning (false, "getEntryDfn", "This entry is not a DFN."); 00729 } 00730 warning (false, "getEntryDfn", "Wrong entry ID."); 00731 return false; 00732 } |
|
Return the entry DFN pointer Doesn't look in parents DFN.
Implements NLGEORGES::UFormDfn. Definition at line 751 of file form_dfn.cpp. References NLGEORGES::CFormDfn::CEntry::getDfnPtr(), and getEntryByName().
00752 { 00753 CFormDfn::CEntry *entry; 00754 if (getEntryByName (name, &entry)) 00755 { 00756 *dfn=entry->getDfnPtr(); 00757 return true; 00758 } 00759 *dfn=NULL; 00760 return false; 00761 } |
|
Return the filename of the type or the DFN. Doesn't look in parents DFN.
Implements NLGEORGES::UFormDfn. Definition at line 656 of file form_dfn.cpp. References Entries, uint, and warning().
00657 { 00658 if (entry < Entries.size ()) 00659 { 00660 if (Entries[entry].TypeElement != EntryVirtualDfn) 00661 { 00662 filename = Entries[entry].Filename; 00663 return true; 00664 } 00665 warning (false, "getEntryFilename", "The entry is a virtual DFN."); 00666 return false; 00667 } 00668 warning (false, "getEntryFilename", "Wrong entry ID."); 00669 return false; 00670 } |
|
Return the filename extension used by the DFN entry. Doesn't look in parents DFN.
Implements NLGEORGES::UFormDfn. Definition at line 674 of file form_dfn.cpp. References Entries, uint, and warning().
|
|
Implements NLGEORGES::UFormDfn. Definition at line 687 of file form_dfn.cpp.
|
|
Return the entry name Doesn't look in parents DFN.
Implements NLGEORGES::UFormDfn. Definition at line 705 of file form_dfn.cpp. References Entries, uint, and warning().
|
|
Return the entry Type pointer Doesn't look in parents DFN.
Implements NLGEORGES::UFormDfn. Definition at line 775 of file form_dfn.cpp. References Entries, type, uint, and warning().
00776 { 00777 if (entry < Entries.size ()) 00778 { 00779 if (Entries[entry].TypeElement == EntryType) 00780 { 00781 *type = Entries[entry].Type; 00782 return true; 00783 } 00784 else 00785 warning (false, "getEntryType", "This entry is not a type."); 00786 } 00787 warning (false, "getEntryType", "Wrong entry ID."); 00788 return false; 00789 } |
|
Return the entry type. Doesn't look in parents DFN.
Implements NLGEORGES::UFormDfn. Definition at line 642 of file form_dfn.cpp. References Entries, type, uint, and warning().
|
|
Return the number of entry in this DFN Implements NLGEORGES::UFormDfn. Definition at line 421 of file form_dfn.cpp.
00422 { 00423 return Entries.size(); 00424 } |
|
Definition at line 400 of file form_dfn.cpp.
00401 { 00402 return Parents.size (); 00403 } |
|
Get the number of parent DFN. Doesn't look in parents DFN for parents. Implements NLGEORGES::UFormDfn. Definition at line 793 of file form_dfn.cpp.
00794 { 00795 return Parents.size (); 00796 } |
|
Get a parent.
Implements NLGEORGES::UFormDfn. Definition at line 800 of file form_dfn.cpp. References Parents, uint, and warning().
|
|
Definition at line 407 of file form_dfn.cpp.
00408 { 00409 return Parents[parent].Parent; 00410 } |
|
Definition at line 379 of file form_dfn.cpp. References NLGEORGES_MAX_RECURSION, Parents, uint, uint32, and warning().
00380 { 00381 // Checkout recurcive calls 00382 if (round > NLGEORGES_MAX_RECURSION) 00383 { 00384 // Turn around.. 00385 warning (false, "getParentDfn", "Recurcive call on the same DFN, look for loop inheritances."); 00386 return; 00387 } 00388 00389 //uint count = 0; 00390 uint i; 00391 for (i=0; i<Parents.size (); i++) 00392 { 00393 Parents[i].Parent->getParentDfn (array, round+1); 00394 } 00395 array.push_back (this); 00396 } |
|
Definition at line 358 of file form_dfn.cpp. References NLGEORGES_MAX_RECURSION, Parents, uint, uint32, and warning(). Referenced by NLGEORGES::CFormElmStruct::build(), getSubDfn(), and NLGEORGES::CFormElmStruct::read().
00359 { 00360 // Checkout recurcive calls 00361 if (round > NLGEORGES_MAX_RECURSION) 00362 { 00363 // Turn around.. 00364 warning (false, "getParentDfn", "Recurcive call on the same DFN, look for loop inheritances."); 00365 return; 00366 } 00367 00368 //uint count = 0; 00369 uint i; 00370 for (i=0; i<Parents.size (); i++) 00371 { 00372 Parents[i].Parent->getParentDfn (array, round+1); 00373 } 00374 array.push_back (this); 00375 } |
|
Get a parent filename.
Implements NLGEORGES::UFormDfn. Definition at line 814 of file form_dfn.cpp. References Parents, uint, and warning().
|
|
Definition at line 414 of file form_dfn.cpp.
00415 { 00416 return Parents[parent].ParentFilename; 00417 } |
|
Definition at line 70 of file smart_ptr.h. References NLMISC::CRefCount::crefs, and sint.
00071 { 00072 return crefs; 00073 } |
|
Definition at line 615 of file form_dfn.cpp. References countParentDfn(), getParentDfn(), index, nlstop, size, and uint.
00616 { 00617 // Get the sub DFN 00618 vector<const CFormDfn*> parentDfn; 00619 parentDfn.reserve (countParentDfn ()); 00620 getParentDfn (parentDfn); 00621 00622 // For each parent 00623 uint dfn; 00624 dfnIndex = index; 00625 uint parentSize = parentDfn.size(); 00626 for (dfn=0; dfn<parentSize; dfn++) 00627 { 00628 // Good element ? 00629 uint size = parentDfn[dfn]->Entries.size (); 00630 if (dfnIndex<size) 00631 return parentDfn[dfn]; 00632 dfnIndex -= size; 00633 } 00634 00635 // Should be found.. 00636 nlstop; 00637 return NULL; 00638 } |
|
Definition at line 588 of file form_dfn.cpp. References countParentDfn(), getParentDfn(), index, nlstop, size, and uint.
00589 { 00590 // Get the sub DFN 00591 vector<CFormDfn*> parentDfn; 00592 parentDfn.reserve (countParentDfn ()); 00593 getParentDfn (parentDfn); 00594 00595 // For each parent 00596 uint dfn; 00597 dfnIndex = index; 00598 uint parentSize = parentDfn.size(); 00599 for (dfn=0; dfn<parentSize; dfn++) 00600 { 00601 // Good element ? 00602 uint size = parentDfn[dfn]->Entries.size (); 00603 if (dfnIndex<size) 00604 return parentDfn[dfn]; 00605 dfnIndex -= size; 00606 } 00607 00608 // Should be found.. 00609 nlstop; 00610 return NULL; 00611 } |
|
Implements NLGEORGES::UFormDfn. Definition at line 763 of file form_dfn.cpp. References NLGEORGES::CFormDfn::CEntry::getArrayFlag().
00764 { 00765 CFormDfn::CEntry *entry; 00766 if (const_cast<CFormDfn*>(this)->getEntryByName (name, &entry)) 00767 { 00768 return entry->getArrayFlag(); 00769 } 00770 return false; 00771 } |
|
Definition at line 118 of file form_dfn.cpp. References Entries, NLGEORGES::CFormLoader::loadFormDfn(), NLGEORGES::CFormLoader::loadType(), nlassert, Parents, NLGEORGES::CFileHeader::read(), stricmp, type, uint, value, and warning().
00119 { 00120 // Save filename 00121 _Filename = CFile::getFilename (filename); 00122 00123 // Check node name 00124 if ( ((const char*)root->name == NULL) || (strcmp ((const char*)root->name, "DFN") != 0) ) 00125 { 00126 // Throw exception 00127 warning (true, "read", "XML Syntax error in block line %d, node (%s) should be DFN.", (int)root->content, root->name); 00128 } 00129 00130 // Count the parent 00131 uint parentCount = CIXml::countChildren (root, "PARENT"); 00132 Parents.resize (parentCount); 00133 00134 // For each element entry 00135 uint parentNumber = 0; 00136 xmlNodePtr parent = CIXml::getFirstChildNode (root, "PARENT"); 00137 while (parentNumber<parentCount) 00138 { 00139 // Get the Parent 00140 const char *parentFilename = (const char*)xmlGetProp (parent, (xmlChar*)"Name"); 00141 if (parentFilename) 00142 { 00143 Parents[parentNumber].ParentFilename = parentFilename; 00144 00145 // Delete the value 00146 xmlFree ((void*)parentFilename); 00147 00148 // Load the parent 00149 Parents[parentNumber].Parent = loader.loadFormDfn (Parents[parentNumber].ParentFilename.c_str (), forceLoad); 00150 if ((Parents[parentNumber].Parent == NULL) && !forceLoad) 00151 { 00152 // Throw exception 00153 warning (true, "read", "Can't load parent DFN file (%s).", Parents[parentNumber].ParentFilename.c_str ()); 00154 } 00155 } 00156 else 00157 { 00158 // Throw exception 00159 warning (true, "read", "XML Syntax error in block (%s) line %d, aguments Name not found.", 00160 parent->name, (int)parent->content); 00161 } 00162 00163 // Next parent 00164 parent = CIXml::getNextChildNode (parent, "PARENT"); 00165 parentNumber++; 00166 } 00167 00168 // Count the element children 00169 uint childCount = CIXml::countChildren (root, "ELEMENT"); 00170 00171 // Resize the element table 00172 Entries.resize (childCount); 00173 00174 // For each element entry 00175 uint childNumber = 0; 00176 xmlNodePtr child = CIXml::getFirstChildNode (root, "ELEMENT"); 00177 while (childNumber<childCount) 00178 { 00179 // Checks 00180 nlassert (child); 00181 00182 // Get the name 00183 const char *value = (const char*)xmlGetProp (child, (xmlChar*)"Name"); 00184 if (value) 00185 { 00186 // Store the value 00187 Entries[childNumber].Name = value; 00188 00189 // Delete the value 00190 xmlFree ((void*)value); 00191 00192 // Reset 00193 Entries[childNumber].Dfn = NULL; 00194 Entries[childNumber].Type = NULL; 00195 Entries[childNumber].Default.clear (); 00196 00197 const char *filename = (const char*)xmlGetProp (child, (xmlChar*)"Filename"); 00198 00199 if ( filename ) 00200 { 00201 Entries[childNumber].Filename = filename; 00202 00203 // Delete the value 00204 xmlFree ((void*)filename); 00205 } 00206 else 00207 { 00208 Entries[childNumber].Filename.clear (); 00209 } 00210 00211 const char *filenameExt = (const char*)xmlGetProp (child, (xmlChar*)"FilenameExt"); 00212 if ( filenameExt ) 00213 { 00214 Entries[childNumber].FilenameExt = filenameExt; 00215 00216 // Delete the value 00217 xmlFree ((void*)filenameExt); 00218 } 00219 else 00220 { 00221 Entries[childNumber].FilenameExt = "*.*"; 00222 } 00223 00224 // Read the type 00225 const char *typeName = (const char*)xmlGetProp (child, (xmlChar*)"Type"); 00226 if (typeName) 00227 { 00228 bool type = false; 00229 bool dfn = false; 00230 if (stricmp (typeName, "Type") == 0) 00231 { 00232 Entries[childNumber].TypeElement = UFormDfn::EntryType; 00233 type = true; 00234 00235 // Load the filename 00236 if (!Entries[childNumber].Filename.empty ()) 00237 { 00238 Entries[childNumber].Type = loader.loadType (Entries[childNumber].Filename.c_str ()); 00239 if ((Entries[childNumber].Type == NULL) && !forceLoad) 00240 { 00241 // Throw exception 00242 warning (true, "read", "In XML block (%s) line %d, file not found %s.", 00243 child->name, (int)child->content, Entries[childNumber].Filename.c_str ()); 00244 } 00245 00246 // Read the default value 00247 const char *defaultName = (const char*)xmlGetProp (child, (xmlChar*)"Default"); 00248 if (defaultName) 00249 { 00250 Entries[childNumber].Default = defaultName; 00251 00252 // Delete the value 00253 xmlFree ((void*)defaultName); 00254 } 00255 } 00256 else 00257 { 00258 // Throw exception 00259 warning (true, "read", "XML In block (%s) line %d, no filename found for the .typ file.", 00260 child->name, (int)child->content, Entries[childNumber].Filename.c_str ()); 00261 } 00262 } 00263 else if (stricmp (typeName, "Dfn") == 0) 00264 { 00265 Entries[childNumber].TypeElement = UFormDfn::EntryDfn; 00266 dfn = true; 00267 00268 // Load the filename 00269 if (!Entries[childNumber].Filename.empty ()) 00270 { 00271 // Load the filename 00272 Entries[childNumber].Dfn = loader.loadFormDfn (Entries[childNumber].Filename.c_str (), forceLoad); 00273 if ((Entries[childNumber].Dfn == NULL) && !forceLoad) 00274 { 00275 // Throw exception 00276 warning (true, "read", "XML In block (%s) line %d, file not found %s.", 00277 child->name, (int)child->content, Entries[childNumber].Filename.c_str ()); 00278 } 00279 } 00280 else 00281 { 00282 // Throw exception 00283 warning (true, "read", "XML In block (%s) line %d, no filename found for the .typ file.", 00284 child->name, (int)child->content, Entries[childNumber].Filename.c_str ()); 00285 } 00286 } 00287 else if (stricmp (typeName, "DfnPointer") == 0) 00288 { 00289 Entries[childNumber].TypeElement = UFormDfn::EntryVirtualDfn; 00290 } 00291 else 00292 { 00293 // Throw exception 00294 warning (true, "read", "XML Syntax error in block (%s) line %d, element has not a valid type name attribut \"Type = %s\".", 00295 child->name, (int)child->content, typeName); 00296 } 00297 00298 // Delete the value 00299 xmlFree ((void*)typeName); 00300 } 00301 else 00302 { 00303 // Throw exception 00304 warning (true, "read", "XML Syntax error in block (%s) line %d, element has no type name attribut \"Type = [Type][Dfn][DfnPointer]\".", 00305 child->name, (int)child->content); 00306 } 00307 00308 // Get the array attrib 00309 Entries[childNumber].Array = false; 00310 const char* arrayFlag = (const char*)xmlGetProp (child, (xmlChar*)"Array"); 00311 if (arrayFlag) 00312 { 00313 Entries[childNumber].Array = (stricmp (arrayFlag, "true") == 0); 00314 00315 // Delete the value 00316 xmlFree ((void*)arrayFlag); 00317 } 00318 } 00319 else 00320 { 00321 // Throw exception 00322 warning (true, "read", "XML Syntax error in block (%s) line %d, aguments Name not found.", 00323 root->name, (int)root->content); 00324 } 00325 00326 // Next child 00327 child = CIXml::getNextChildNode (child, "ELEMENT"); 00328 childNumber++; 00329 } 00330 00331 // Read the header 00332 Header.read (root); 00333 } |
|
Definition at line 428 of file form_dfn.cpp. References Entries, size, and uint.
00429 { 00430 Entries.resize (size); 00431 } |
|
Definition at line 449 of file form_dfn.cpp. References Parents, size, and uint.
00450 { 00451 Parents.resize (size); 00452 } |
|
Definition at line 456 of file form_dfn.cpp. References NLGEORGES::CFormLoader::loadFormDfn(), Parents, and uint.
|
|
Definition at line 848 of file form_dfn.cpp. References buffer, format, and NLGEORGES::warning(). Referenced by countParentDfn(), getEntryDfn(), getEntryFilename(), getEntryFilenameExt(), getEntryName(), getEntryType(), getParent(), getParentDfn(), getParentFilename(), and read().
00849 { 00850 // Make a buffer string 00851 va_list args; 00852 va_start( args, format ); 00853 char buffer[1024]; 00854 vsnprintf( buffer, 1024, format, args ); 00855 va_end( args ); 00856 00857 // Set the warning 00858 NLGEORGES::warning (exception, "(CFormDfn::%s) in form DFN (%s) : %s", function, _Filename.c_str (), buffer); 00859 } |
|
Definition at line 53 of file form_dfn.cpp. References Entries, Parents, uint, and NLGEORGES::CFileHeader::write().
00054 { 00055 // Save filename 00056 _Filename = CFile::getFilename (filename); 00057 00058 // Create the first node 00059 xmlNodePtr node = xmlNewDocNode (doc, NULL, (const xmlChar*)"DFN", NULL); 00060 xmlDocSetRootElement (doc, node); 00061 00062 // Write elements 00063 uint parent; 00064 for (parent=0; parent<Parents.size(); parent++) 00065 { 00066 // Parent name not empty ? 00067 if (!Parents[parent].ParentFilename.empty ()) 00068 { 00069 // Parent node 00070 xmlNodePtr parentNode = xmlNewChild ( node, NULL, (const xmlChar*)"PARENT", NULL); 00071 00072 // Save parent 00073 xmlSetProp (parentNode, (const xmlChar*)"Name", (const xmlChar*)Parents[parent].ParentFilename.c_str()); 00074 } 00075 } 00076 00077 // Write elements 00078 uint elm; 00079 for (elm=0; elm<Entries.size(); elm++) 00080 { 00081 // Add a node 00082 xmlNodePtr elmPtr = xmlNewChild ( node, NULL, (const xmlChar*)"ELEMENT", NULL); 00083 xmlSetProp (elmPtr, (const xmlChar*)"Name", (const xmlChar*)Entries[elm].Name.c_str()); 00084 00085 // What kind of element 00086 switch (Entries[elm].TypeElement) 00087 { 00088 case UFormDfn::EntryType: 00089 xmlSetProp (elmPtr, (const xmlChar*)"Type", (const xmlChar*)"Type"); 00090 xmlSetProp (elmPtr, (const xmlChar*)"Filename", (const xmlChar*)Entries[elm].Filename.c_str()); 00091 if ((!Entries[elm].FilenameExt.empty ()) && Entries[elm].FilenameExt != "*.*") 00092 xmlSetProp (elmPtr, (const xmlChar*)"FilenameExt", (const xmlChar*)Entries[elm].FilenameExt.c_str()); 00093 break; 00094 case UFormDfn::EntryDfn: 00095 xmlSetProp (elmPtr, (const xmlChar*)"Type", (const xmlChar*)"Dfn"); 00096 xmlSetProp (elmPtr, (const xmlChar*)"Filename", (const xmlChar*)Entries[elm].Filename.c_str()); 00097 break; 00098 case UFormDfn::EntryVirtualDfn: 00099 xmlSetProp (elmPtr, (const xmlChar*)"Type", (const xmlChar*)"DfnPointer"); 00100 break; 00101 } 00102 00103 // Is an array ? 00104 if (Entries[elm].Array) 00105 xmlSetProp (elmPtr, (const xmlChar*)"Array", (const xmlChar*)"true"); 00106 00107 // Default value for type 00108 if ((Entries[elm].TypeElement == UFormDfn::EntryType) && (!Entries[elm].Default.empty ())) 00109 xmlSetProp (elmPtr, (const xmlChar*)"Default", (const xmlChar*)Entries[elm].Default.c_str ()); 00110 } 00111 00112 // Header 00113 Header.write (node, georges4CVS); 00114 } |
|
Definition at line 48 of file form_dfn.h. |
|
Definition at line 50 of file form_dfn.h. |
|
Definition at line 52 of file form_dfn.h. |
|
Definition at line 51 of file form_dfn.h. |
|
|
|
Definition at line 67 of file smart_ptr.h. |
|
Definition at line 49 of file form_dfn.h. |
|
Definition at line 251 of file form_dfn.h. |
|
Definition at line 79 of file smart_ptr.h. Referenced by NLMISC::CRefCount::CRefCount(), NLMISC::CRefCount::getRefCount(), and NLMISC::CRefCount::~CRefCount(). |
|
Definition at line 245 of file form_dfn.h. Referenced by getDependencies(), getEntry(), getEntryByName(), getEntryDfn(), getEntryFilename(), getEntryFilenameExt(), getEntryIndexByName(), getEntryName(), getEntryType(), NLGEORGES::CFormElm::getIternalNodeByName(), getNumEntry(), read(), setNumEntry(), and write(). |
|
Definition at line 235 of file form_dfn.h. |
|
Referenced by NLMISC::CRefCount::CRefCount(). |
|
Definition at line 242 of file form_dfn.h. Referenced by countParentDfn(), getDependencies(), getNumParent(), getNumParents(), getParent(), getParentDfn(), getParentFilename(), read(), setNumParent(), setParent(), and write(). |
|
Definition at line 80 of file smart_ptr.h. Referenced by NLMISC::CRefCount::CRefCount(), and NLMISC::CRefCount::~CRefCount(). |
|
Definition at line 248 of file form_dfn.h. Referenced by CFormDfn(). |