#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(). |
1.3.6