Doxygen will pick up every function, macro, and typedef defined
in krb5.h; some of these may not actually be part of the public
API for one reason or another. Provide hardcoded exclude lists
for macro/function/type names for which we do not want to emit
reStructuredText documentation, and check these lists when processing
the Doxygen XML output.
Seed these lists with the macros TRUE, FALSE, KRB5_OLD_CRYPTO,
KRB5_GENERAL__, KRB5_CALLCONV, KRB5_CALLCONV_C, KRB5_CALLCONV_WRONG,
KRB5INT_BEGIN_DECLS, KRB5INT_END_DECLS, and KRB5_ATTR_DEPRECATED,
and typedefs krb5_cc_ops and krb5_responder_context. The booleans
are compatibility cruft that we do not want to advertise, and the other
macros are for internal use for signalling and platform compatibility.
The typedefs are functioning just as forward declarations.
For consistency, remove KRB5_OLD_CRYPTO.rst from the macros index; it
had no content even when we did generate it.
ticket: 7447
tags: pullup
target_version: 1.11
KRB5_NT_UNKNOWN.rst
KRB5_NT_WELLKNOWN.rst
KRB5_NT_X500_PRINCIPAL.rst
- KRB5_OLD_CRYPTO.rst
KRB5_PAC_CLIENT_INFO.rst
KRB5_PAC_CREDENTIALS_INFO.rst
KRB5_PAC_DELEGATION_INFO.rst
from xml.sax.handler import ContentHandler
from docmodel import *
+exclude_funcs = []
+
class DocNode(object):
"""
Represents the structure of xml node.
print 'not processing node: %s' % node_type
return
+ if 'name' in data and data['name'] in exclude_funcs:
+ return
self.objects.append(DocModel(**data))
def save(self, templates, target_dir):
from docmodel import *
+exclude_types = [ 'TRUE', 'FALSE', 'KRB5_ATTR_DEPRECATED',
+ 'KRB5_CALLCONV', 'KRB5_CALLCONV_C', 'KRB5_CALLCONV_WRONG',
+ 'KRB5_GENERAL__', 'KRB5_OLD_CRYPTO',
+ 'KRB5INT_BEGIN_DECLS', 'KRB5INT_END_DECLS',
+ 'krb5_cc_ops', 'krb5_responder_context' ]
class DoxyTypes(object):
def __init__(self, xmlpath):
data = self._process_variable_node(node)
elif kind == 'define':
data = self._process_define_node(node)
+ if 'name' in data and data['name'] in exclude_types:
+ continue
result.append(data)
print "\nnumber of types processed ==> " , len(result)
return result