diff options
| author | 2023-05-05 02:43:40 +0200 | |
|---|---|---|
| committer | 2023-05-05 02:43:40 +0200 | |
| commit | 954b3e44b79396ee5352aa1c8ec1d883a4433e99 (patch) | |
| tree | baa91557f84f0bd3de508b718434ba1c686837ea | |
| parent | 4d08422860a1689ae556f822b56c8fef629ad79f (diff) | |
| download | libplist-954b3e44b79396ee5352aa1c8ec1d883a4433e99.tar.gz libplist-954b3e44b79396ee5352aa1c8ec1d883a4433e99.tar.bz2 | |
Update doxygen config and document undocumented macros
| -rw-r--r-- | doxygen.cfg.in | 91 | ||||
| -rw-r--r-- | include/plist/plist.h | 15 |
2 files changed, 22 insertions, 84 deletions
diff --git a/doxygen.cfg.in b/doxygen.cfg.in index 9ed1b14..8c77b8f 100644 --- a/doxygen.cfg.in +++ b/doxygen.cfg.in | |||
| @@ -155,13 +155,6 @@ QT_AUTOBRIEF = NO | |||
| 155 | 155 | ||
| 156 | MULTILINE_CPP_IS_BRIEF = NO | 156 | MULTILINE_CPP_IS_BRIEF = NO |
| 157 | 157 | ||
| 158 | # If the DETAILS_AT_TOP tag is set to YES then Doxygen | ||
| 159 | # will output the detailed description near the top, like JavaDoc. | ||
| 160 | # If set to NO, the detailed description appears after the member | ||
| 161 | # documentation. | ||
| 162 | |||
| 163 | DETAILS_AT_TOP = NO | ||
| 164 | |||
| 165 | # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented | 158 | # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented |
| 166 | # member inherits the documentation from any documented member that it | 159 | # member inherits the documentation from any documented member that it |
| 167 | # re-implements. | 160 | # re-implements. |
| @@ -446,12 +439,6 @@ MAX_INITIALIZER_LINES = 30 | |||
| 446 | 439 | ||
| 447 | SHOW_USED_FILES = YES | 440 | SHOW_USED_FILES = YES |
| 448 | 441 | ||
| 449 | # If the sources in your project are distributed over multiple directories | ||
| 450 | # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy | ||
| 451 | # in the documentation. The default is NO. | ||
| 452 | |||
| 453 | SHOW_DIRECTORIES = NO | ||
| 454 | |||
| 455 | # Set the SHOW_FILES tag to NO to disable the generation of the Files page. | 442 | # Set the SHOW_FILES tag to NO to disable the generation of the Files page. |
| 456 | # This will remove the Files entry from the Quick Index and from the | 443 | # This will remove the Files entry from the Quick Index and from the |
| 457 | # Folder Tree View (if specified). The default is YES. | 444 | # Folder Tree View (if specified). The default is YES. |
| @@ -585,7 +572,7 @@ EXCLUDE_PATTERNS = | |||
| 585 | # wildcard * is used, a substring. Examples: ANamespace, AClass, | 572 | # wildcard * is used, a substring. Examples: ANamespace, AClass, |
| 586 | # AClass::ANamespace, ANamespace::*Test | 573 | # AClass::ANamespace, ANamespace::*Test |
| 587 | 574 | ||
| 588 | EXCLUDE_SYMBOLS = | 575 | EXCLUDE_SYMBOLS = PLIST_WARN_DEPRECATED PLIST_API PLIST_UINT PLIST_IS_UINT |
| 589 | 576 | ||
| 590 | # The EXAMPLE_PATH tag can be used to specify one or more files or | 577 | # The EXAMPLE_PATH tag can be used to specify one or more files or |
| 591 | # directories that contain example code fragments that are included (see | 578 | # directories that contain example code fragments that are included (see |
| @@ -703,12 +690,6 @@ VERBATIM_HEADERS = NO | |||
| 703 | 690 | ||
| 704 | ALPHABETICAL_INDEX = NO | 691 | ALPHABETICAL_INDEX = NO |
| 705 | 692 | ||
| 706 | # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then | ||
| 707 | # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns | ||
| 708 | # in which this list will be split (can be a number in the range [1..20]) | ||
| 709 | |||
| 710 | COLS_IN_ALPHA_INDEX = 5 | ||
| 711 | |||
| 712 | # In case all classes in a project start with a common prefix, all | 693 | # In case all classes in a project start with a common prefix, all |
| 713 | # classes will be put under the same header in the alphabetical index. | 694 | # classes will be put under the same header in the alphabetical index. |
| 714 | # The IGNORE_PREFIX tag can be used to specify one or more prefixes that | 695 | # The IGNORE_PREFIX tag can be used to specify one or more prefixes that |
| @@ -758,12 +739,6 @@ HTML_FOOTER = | |||
| 758 | 739 | ||
| 759 | HTML_STYLESHEET = | 740 | HTML_STYLESHEET = |
| 760 | 741 | ||
| 761 | # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, | ||
| 762 | # files or namespaces will be aligned in HTML using tables. If set to | ||
| 763 | # NO a bullet list will be used. | ||
| 764 | |||
| 765 | HTML_ALIGN_MEMBERS = YES | ||
| 766 | |||
| 767 | # If the GENERATE_HTMLHELP tag is set to YES, additional index files | 742 | # If the GENERATE_HTMLHELP tag is set to YES, additional index files |
| 768 | # will be generated that can be used as input for tools like the | 743 | # will be generated that can be used as input for tools like the |
| 769 | # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) | 744 | # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) |
| @@ -916,10 +891,10 @@ MAKEINDEX_CMD_NAME = makeindex | |||
| 916 | COMPACT_LATEX = NO | 891 | COMPACT_LATEX = NO |
| 917 | 892 | ||
| 918 | # The PAPER_TYPE tag can be used to set the paper type that is used | 893 | # The PAPER_TYPE tag can be used to set the paper type that is used |
| 919 | # by the printer. Possible values are: a4, a4wide, letter, legal and | 894 | # by the printer. Possible values are: a4, letter, legal and executive. |
| 920 | # executive. If left blank a4wide will be used. | 895 | # If left blank a4 will be used. |
| 921 | 896 | ||
| 922 | PAPER_TYPE = a4wide | 897 | PAPER_TYPE = a4 |
| 923 | 898 | ||
| 924 | # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX | 899 | # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX |
| 925 | # packages that should be included in the LaTeX output. | 900 | # packages that should be included in the LaTeX output. |
| @@ -1045,18 +1020,6 @@ GENERATE_XML = NO | |||
| 1045 | 1020 | ||
| 1046 | XML_OUTPUT = xml | 1021 | XML_OUTPUT = xml |
| 1047 | 1022 | ||
| 1048 | # The XML_SCHEMA tag can be used to specify an XML schema, | ||
| 1049 | # which can be used by a validating XML parser to check the | ||
| 1050 | # syntax of the XML files. | ||
| 1051 | |||
| 1052 | XML_SCHEMA = | ||
| 1053 | |||
| 1054 | # The XML_DTD tag can be used to specify an XML DTD, | ||
| 1055 | # which can be used by a validating XML parser to check the | ||
| 1056 | # syntax of the XML files. | ||
| 1057 | |||
| 1058 | XML_DTD = | ||
| 1059 | |||
| 1060 | # If the XML_PROGRAMLISTING tag is set to YES Doxygen will | 1023 | # If the XML_PROGRAMLISTING tag is set to YES Doxygen will |
| 1061 | # dump the program listings (including syntax highlighting | 1024 | # dump the program listings (including syntax highlighting |
| 1062 | # and cross-referencing information) to the XML output. Note that | 1025 | # and cross-referencing information) to the XML output. Note that |
| @@ -1124,13 +1087,13 @@ ENABLE_PREPROCESSING = YES | |||
| 1124 | # compilation will be performed. Macro expansion can be done in a controlled | 1087 | # compilation will be performed. Macro expansion can be done in a controlled |
| 1125 | # way by setting EXPAND_ONLY_PREDEF to YES. | 1088 | # way by setting EXPAND_ONLY_PREDEF to YES. |
| 1126 | 1089 | ||
| 1127 | MACRO_EXPANSION = NO | 1090 | MACRO_EXPANSION = YES |
| 1128 | 1091 | ||
| 1129 | # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES | 1092 | # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES |
| 1130 | # then the macro expansion is limited to the macros specified with the | 1093 | # then the macro expansion is limited to the macros specified with the |
| 1131 | # PREDEFINED and EXPAND_AS_DEFINED tags. | 1094 | # PREDEFINED and EXPAND_AS_DEFINED tags. |
| 1132 | 1095 | ||
| 1133 | EXPAND_ONLY_PREDEF = NO | 1096 | EXPAND_ONLY_PREDEF = YES |
| 1134 | 1097 | ||
| 1135 | # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files | 1098 | # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files |
| 1136 | # in the INCLUDE_PATH (see below) will be search if a #include is found. | 1099 | # in the INCLUDE_PATH (see below) will be search if a #include is found. |
| @@ -1165,7 +1128,7 @@ PREDEFINED = | |||
| 1165 | # The macro definition that is found in the sources will be used. | 1128 | # The macro definition that is found in the sources will be used. |
| 1166 | # Use the PREDEFINED tag if you want to use a different macro definition. | 1129 | # Use the PREDEFINED tag if you want to use a different macro definition. |
| 1167 | 1130 | ||
| 1168 | EXPAND_AS_DEFINED = | 1131 | EXPAND_AS_DEFINED = PLIST_API |
| 1169 | 1132 | ||
| 1170 | # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then | 1133 | # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then |
| 1171 | # doxygen's preprocessor will remove all function-like macros that are alone | 1134 | # doxygen's preprocessor will remove all function-like macros that are alone |
| @@ -1213,33 +1176,10 @@ ALLEXTERNALS = NO | |||
| 1213 | 1176 | ||
| 1214 | EXTERNAL_GROUPS = YES | 1177 | EXTERNAL_GROUPS = YES |
| 1215 | 1178 | ||
| 1216 | # The PERL_PATH should be the absolute path and name of the perl script | ||
| 1217 | # interpreter (i.e. the result of `which perl'). | ||
| 1218 | |||
| 1219 | PERL_PATH = /usr/bin/perl | ||
| 1220 | |||
| 1221 | #--------------------------------------------------------------------------- | 1179 | #--------------------------------------------------------------------------- |
| 1222 | # Configuration options related to the dot tool | 1180 | # Configuration options related to the dot tool |
| 1223 | #--------------------------------------------------------------------------- | 1181 | #--------------------------------------------------------------------------- |
| 1224 | 1182 | ||
| 1225 | # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will | ||
| 1226 | # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base | ||
| 1227 | # or super classes. Setting the tag to NO turns the diagrams off. Note that | ||
| 1228 | # this option is superseded by the HAVE_DOT option below. This is only a | ||
| 1229 | # fallback. It is recommended to install and use dot, since it yields more | ||
| 1230 | # powerful graphs. | ||
| 1231 | |||
| 1232 | CLASS_DIAGRAMS = YES | ||
| 1233 | |||
| 1234 | # You can define message sequence charts within doxygen comments using the \msc | ||
| 1235 | # command. Doxygen will then run the mscgen tool (see | ||
| 1236 | # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the | ||
| 1237 | # documentation. The MSCGEN_PATH tag allows you to specify the directory where | ||
| 1238 | # the mscgen tool resides. If left empty the tool is assumed to be found in the | ||
| 1239 | # default search path. | ||
| 1240 | |||
| 1241 | MSCGEN_PATH = | ||
| 1242 | |||
| 1243 | # If set to YES, the inheritance and collaboration graphs will hide | 1183 | # If set to YES, the inheritance and collaboration graphs will hide |
| 1244 | # inheritance and usage relations if the target is undocumented | 1184 | # inheritance and usage relations if the target is undocumented |
| 1245 | # or is not a class. | 1185 | # or is not a class. |
| @@ -1253,21 +1193,8 @@ HIDE_UNDOC_RELATIONS = YES | |||
| 1253 | 1193 | ||
| 1254 | HAVE_DOT = NO | 1194 | HAVE_DOT = NO |
| 1255 | 1195 | ||
| 1256 | # By default doxygen will write a font called FreeSans.ttf to the output | 1196 | # You can set the path where dot can find font specified with fontname in DOT_COMMON_ATTR and others dot attributes. |
| 1257 | # directory and reference it in all dot files that doxygen generates. This | 1197 | # This tag requires that the tag HAVE_DOT is set to YES. |
| 1258 | # font does not include all possible unicode characters however, so when you need | ||
| 1259 | # these (or just want a differently looking font) you can specify the font name | ||
| 1260 | # using DOT_FONTNAME. You need need to make sure dot is able to find the font, | ||
| 1261 | # which can be done by putting it in a standard location or by setting the | ||
| 1262 | # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory | ||
| 1263 | # containing the font. | ||
| 1264 | |||
| 1265 | DOT_FONTNAME = FreeSans | ||
| 1266 | |||
| 1267 | # By default doxygen will tell dot to use the output directory to look for the | ||
| 1268 | # FreeSans.ttf font (which doxygen will put there itself). If you specify a | ||
| 1269 | # different font using DOT_FONTNAME you can set the path where dot | ||
| 1270 | # can find it using this tag. | ||
| 1271 | 1198 | ||
| 1272 | DOT_FONTPATH = | 1199 | DOT_FONTPATH = |
| 1273 | 1200 | ||
diff --git a/include/plist/plist.h b/include/plist/plist.h index 9f71777..953ecad 100644 --- a/include/plist/plist.h +++ b/include/plist/plist.h | |||
| @@ -164,7 +164,7 @@ extern "C" | |||
| 164 | PLIST_OPT_INDENT = 1 << 3, /**< Indent each line of output. Currently only #PLIST_FORMAT_PRINT and #PLIST_FORMAT_LIMD are supported. Use #PLIST_OPT_INDENT_BY() macro to specify the level of indentation. */ | 164 | PLIST_OPT_INDENT = 1 << 3, /**< Indent each line of output. Currently only #PLIST_FORMAT_PRINT and #PLIST_FORMAT_LIMD are supported. Use #PLIST_OPT_INDENT_BY() macro to specify the level of indentation. */ |
| 165 | } plist_write_options_t; | 165 | } plist_write_options_t; |
| 166 | 166 | ||
| 167 | /** To be used with #PLIST_OPT_INDENT. Encodes the level of indentation for OR'ing it into the #plist_write_options_t bitfield. */ | 167 | /** To be used with #PLIST_OPT_INDENT - encodes the level of indentation for OR'ing it into the #plist_write_options_t bitfield. */ |
| 168 | #define PLIST_OPT_INDENT_BY(x) ((x & 0xFF) << 24) | 168 | #define PLIST_OPT_INDENT_BY(x) ((x & 0xFF) << 24) |
| 169 | 169 | ||
| 170 | 170 | ||
| @@ -834,7 +834,7 @@ extern "C" | |||
| 834 | * This function will look at the first bytes of the file data | 834 | * This function will look at the first bytes of the file data |
| 835 | * to determine if it contains a binary, JSON, OpenStep, or XML plist | 835 | * to determine if it contains a binary, JSON, OpenStep, or XML plist |
| 836 | * and tries to parse the data in the appropriate format. | 836 | * and tries to parse the data in the appropriate format. |
| 837 | * Uses #plist_read_from_data() internally. | 837 | * Uses plist_from_memory() internally. |
| 838 | * | 838 | * |
| 839 | * @param filename The name of the file to parse. | 839 | * @param filename The name of the file to parse. |
| 840 | * @param plist A pointer to the imported plist. | 840 | * @param plist A pointer to the imported plist. |
| @@ -944,18 +944,29 @@ extern "C" | |||
| 944 | */ | 944 | */ |
| 945 | char plist_compare_node_value(plist_t node_l, plist_t node_r); | 945 | char plist_compare_node_value(plist_t node_l, plist_t node_r); |
| 946 | 946 | ||
| 947 | /** Helper macro used by PLIST_IS_* macros that will evaluate the type of a plist node. */ | ||
| 947 | #define _PLIST_IS_TYPE(__plist, __plist_type) (__plist && (plist_get_node_type(__plist) == PLIST_##__plist_type)) | 948 | #define _PLIST_IS_TYPE(__plist, __plist_type) (__plist && (plist_get_node_type(__plist) == PLIST_##__plist_type)) |
| 948 | 949 | ||
| 949 | /* Helper macros for the different plist types */ | 950 | /* Helper macros for the different plist types */ |
| 951 | /** Evaluates to true if the given plist node is of type PLIST_BOOLEAN */ | ||
| 950 | #define PLIST_IS_BOOLEAN(__plist) _PLIST_IS_TYPE(__plist, BOOLEAN) | 952 | #define PLIST_IS_BOOLEAN(__plist) _PLIST_IS_TYPE(__plist, BOOLEAN) |
| 953 | /** Evaluates to true if the given plist node is of type PLIST_INT */ | ||
| 951 | #define PLIST_IS_INT(__plist) _PLIST_IS_TYPE(__plist, INT) | 954 | #define PLIST_IS_INT(__plist) _PLIST_IS_TYPE(__plist, INT) |
| 955 | /** Evaluates to true if the given plist node is of type PLIST_REAL */ | ||
| 952 | #define PLIST_IS_REAL(__plist) _PLIST_IS_TYPE(__plist, REAL) | 956 | #define PLIST_IS_REAL(__plist) _PLIST_IS_TYPE(__plist, REAL) |
| 957 | /** Evaluates to true if the given plist node is of type PLIST_STRING */ | ||
| 953 | #define PLIST_IS_STRING(__plist) _PLIST_IS_TYPE(__plist, STRING) | 958 | #define PLIST_IS_STRING(__plist) _PLIST_IS_TYPE(__plist, STRING) |
| 959 | /** Evaluates to true if the given plist node is of type PLIST_ARRAY */ | ||
| 954 | #define PLIST_IS_ARRAY(__plist) _PLIST_IS_TYPE(__plist, ARRAY) | 960 | #define PLIST_IS_ARRAY(__plist) _PLIST_IS_TYPE(__plist, ARRAY) |
| 961 | /** Evaluates to true if the given plist node is of type PLIST_DICT */ | ||
| 955 | #define PLIST_IS_DICT(__plist) _PLIST_IS_TYPE(__plist, DICT) | 962 | #define PLIST_IS_DICT(__plist) _PLIST_IS_TYPE(__plist, DICT) |
| 963 | /** Evaluates to true if the given plist node is of type PLIST_DATE */ | ||
| 956 | #define PLIST_IS_DATE(__plist) _PLIST_IS_TYPE(__plist, DATE) | 964 | #define PLIST_IS_DATE(__plist) _PLIST_IS_TYPE(__plist, DATE) |
| 965 | /** Evaluates to true if the given plist node is of type PLIST_DATA */ | ||
| 957 | #define PLIST_IS_DATA(__plist) _PLIST_IS_TYPE(__plist, DATA) | 966 | #define PLIST_IS_DATA(__plist) _PLIST_IS_TYPE(__plist, DATA) |
| 967 | /** Evaluates to true if the given plist node is of type PLIST_KEY */ | ||
| 958 | #define PLIST_IS_KEY(__plist) _PLIST_IS_TYPE(__plist, KEY) | 968 | #define PLIST_IS_KEY(__plist) _PLIST_IS_TYPE(__plist, KEY) |
| 969 | /** Evaluates to true if the given plist node is of type PLIST_UID */ | ||
| 959 | #define PLIST_IS_UID(__plist) _PLIST_IS_TYPE(__plist, UID) | 970 | #define PLIST_IS_UID(__plist) _PLIST_IS_TYPE(__plist, UID) |
| 960 | /* for backwards compatibility */ | 971 | /* for backwards compatibility */ |
| 961 | #define PLIST_IS_UINT PLIST_IS_INT | 972 | #define PLIST_IS_UINT PLIST_IS_INT |
