Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
utils.h@0:7c97dcef700c, 2010-11-21 (annotated)
- Committer:
- steiger
- Date:
- Sun Nov 21 00:49:17 2010 +0000
- Revision:
- 0:7c97dcef700c
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| steiger | 0:7c97dcef700c | 1 | |
| steiger | 0:7c97dcef700c | 2 | // a utility function defining a very simple method to indent a line of text |
| steiger | 0:7c97dcef700c | 3 | const char * getIndent( unsigned int numIndents ) |
| steiger | 0:7c97dcef700c | 4 | { |
| steiger | 0:7c97dcef700c | 5 | static const char * pINDENT = " + "; |
| steiger | 0:7c97dcef700c | 6 | static const unsigned int LENGTH = strlen( pINDENT ); |
| steiger | 0:7c97dcef700c | 7 | |
| steiger | 0:7c97dcef700c | 8 | if ( numIndents > LENGTH ) numIndents = LENGTH; |
| steiger | 0:7c97dcef700c | 9 | |
| steiger | 0:7c97dcef700c | 10 | return &pINDENT[ LENGTH-numIndents ]; |
| steiger | 0:7c97dcef700c | 11 | } |
| steiger | 0:7c97dcef700c | 12 | |
| steiger | 0:7c97dcef700c | 13 | void dump_to_stdout( TiXmlNode * pParent, unsigned int indent = 0 ) |
| steiger | 0:7c97dcef700c | 14 | { |
| steiger | 0:7c97dcef700c | 15 | if ( !pParent ) return; |
| steiger | 0:7c97dcef700c | 16 | |
| steiger | 0:7c97dcef700c | 17 | TiXmlText *pText; |
| steiger | 0:7c97dcef700c | 18 | int t = pParent->Type(); |
| steiger | 0:7c97dcef700c | 19 | printf( "%s", getIndent( indent)); |
| steiger | 0:7c97dcef700c | 20 | |
| steiger | 0:7c97dcef700c | 21 | switch ( t ) |
| steiger | 0:7c97dcef700c | 22 | { |
| steiger | 0:7c97dcef700c | 23 | case TiXmlNode::TINYXML_DOCUMENT: |
| steiger | 0:7c97dcef700c | 24 | printf( "Document" ); |
| steiger | 0:7c97dcef700c | 25 | break; |
| steiger | 0:7c97dcef700c | 26 | |
| steiger | 0:7c97dcef700c | 27 | case TiXmlNode::TINYXML_ELEMENT: |
| steiger | 0:7c97dcef700c | 28 | printf( "Element \"%s\"", pParent->Value() ); |
| steiger | 0:7c97dcef700c | 29 | break; |
| steiger | 0:7c97dcef700c | 30 | |
| steiger | 0:7c97dcef700c | 31 | case TiXmlNode::TINYXML_COMMENT: |
| steiger | 0:7c97dcef700c | 32 | printf( "Comment: \"%s\"", pParent->Value()); |
| steiger | 0:7c97dcef700c | 33 | break; |
| steiger | 0:7c97dcef700c | 34 | |
| steiger | 0:7c97dcef700c | 35 | case TiXmlNode::TINYXML_UNKNOWN: |
| steiger | 0:7c97dcef700c | 36 | printf( "Unknown" ); |
| steiger | 0:7c97dcef700c | 37 | break; |
| steiger | 0:7c97dcef700c | 38 | |
| steiger | 0:7c97dcef700c | 39 | case TiXmlNode::TINYXML_TEXT: |
| steiger | 0:7c97dcef700c | 40 | pText = pParent->ToText(); |
| steiger | 0:7c97dcef700c | 41 | printf( "Text: [%s]", pText->Value() ); |
| steiger | 0:7c97dcef700c | 42 | break; |
| steiger | 0:7c97dcef700c | 43 | |
| steiger | 0:7c97dcef700c | 44 | case TiXmlNode::TINYXML_DECLARATION: |
| steiger | 0:7c97dcef700c | 45 | printf( "Declaration" ); |
| steiger | 0:7c97dcef700c | 46 | break; |
| steiger | 0:7c97dcef700c | 47 | default: |
| steiger | 0:7c97dcef700c | 48 | break; |
| steiger | 0:7c97dcef700c | 49 | } |
| steiger | 0:7c97dcef700c | 50 | printf( "\n" ); |
| steiger | 0:7c97dcef700c | 51 | |
| steiger | 0:7c97dcef700c | 52 | TiXmlNode * pChild; |
| steiger | 0:7c97dcef700c | 53 | |
| steiger | 0:7c97dcef700c | 54 | for ( pChild = pParent->FirstChild(); pChild != 0; pChild = pChild->NextSibling()) |
| steiger | 0:7c97dcef700c | 55 | { |
| steiger | 0:7c97dcef700c | 56 | dump_to_stdout( pChild, indent+2 ); |
| steiger | 0:7c97dcef700c | 57 | } |
| steiger | 0:7c97dcef700c | 58 | } |