forked from sdr/gr-osmosdr
import doxyxml files from GR tree to make build work with doxygen
This commit is contained in:
parent
b41c85a2b0
commit
99dfd7f197
|
@ -0,0 +1,82 @@
|
||||||
|
#
|
||||||
|
# Copyright 2010 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is part of GNU Radio
|
||||||
|
#
|
||||||
|
# GNU Radio is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# GNU Radio is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNU Radio; see the file COPYING. If not, write to
|
||||||
|
# the Free Software Foundation, Inc., 51 Franklin Street,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
"""
|
||||||
|
Python interface to contents of doxygen xml documentation.
|
||||||
|
|
||||||
|
Example use:
|
||||||
|
See the contents of the example folder for the C++ and
|
||||||
|
doxygen-generated xml used in this example.
|
||||||
|
|
||||||
|
>>> # Parse the doxygen docs.
|
||||||
|
>>> import os
|
||||||
|
>>> this_dir = os.path.dirname(globals()['__file__'])
|
||||||
|
>>> xml_path = this_dir + "/example/xml/"
|
||||||
|
>>> di = DoxyIndex(xml_path)
|
||||||
|
|
||||||
|
Get a list of all top-level objects.
|
||||||
|
|
||||||
|
>>> print([mem.name() for mem in di.members()])
|
||||||
|
[u'Aadvark', u'aadvarky_enough', u'main']
|
||||||
|
|
||||||
|
Get all functions.
|
||||||
|
|
||||||
|
>>> print([mem.name() for mem in di.in_category(DoxyFunction)])
|
||||||
|
[u'aadvarky_enough', u'main']
|
||||||
|
|
||||||
|
Check if an object is present.
|
||||||
|
|
||||||
|
>>> di.has_member(u'Aadvark')
|
||||||
|
True
|
||||||
|
>>> di.has_member(u'Fish')
|
||||||
|
False
|
||||||
|
|
||||||
|
Get an item by name and check its properties.
|
||||||
|
|
||||||
|
>>> aad = di.get_member(u'Aadvark')
|
||||||
|
>>> print(aad.brief_description)
|
||||||
|
Models the mammal Aadvark.
|
||||||
|
>>> print(aad.detailed_description)
|
||||||
|
Sadly the model is incomplete and cannot capture all aspects of an aadvark yet.
|
||||||
|
<BLANKLINE>
|
||||||
|
This line is uninformative and is only to test line breaks in the comments.
|
||||||
|
>>> [mem.name() for mem in aad.members()]
|
||||||
|
[u'aadvarkness', u'print', u'Aadvark', u'get_aadvarkness']
|
||||||
|
>>> aad.get_member(u'print').brief_description
|
||||||
|
u'Outputs the vital aadvark statistics.'
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
from doxyindex import DoxyIndex, DoxyFunction, DoxyParam, DoxyClass, DoxyFile, DoxyNamespace, DoxyGroup, DoxyFriend, DoxyOther
|
||||||
|
|
||||||
|
def _test():
|
||||||
|
import os
|
||||||
|
this_dir = os.path.dirname(globals()['__file__'])
|
||||||
|
xml_path = this_dir + "/example/xml/"
|
||||||
|
di = DoxyIndex(xml_path)
|
||||||
|
# Get the Aadvark class
|
||||||
|
aad = di.get_member('Aadvark')
|
||||||
|
aad.brief_description
|
||||||
|
import doctest
|
||||||
|
return doctest.testmod()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
_test()
|
||||||
|
|
|
@ -0,0 +1,219 @@
|
||||||
|
#
|
||||||
|
# Copyright 2010 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is part of GNU Radio
|
||||||
|
#
|
||||||
|
# GNU Radio is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# GNU Radio is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNU Radio; see the file COPYING. If not, write to
|
||||||
|
# the Free Software Foundation, Inc., 51 Franklin Street,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
"""
|
||||||
|
A base class is created.
|
||||||
|
|
||||||
|
Classes based upon this are used to make more user-friendly interfaces
|
||||||
|
to the doxygen xml docs than the generated classes provide.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
import pdb
|
||||||
|
|
||||||
|
from xml.parsers.expat import ExpatError
|
||||||
|
|
||||||
|
from generated import compound
|
||||||
|
|
||||||
|
|
||||||
|
class Base(object):
|
||||||
|
|
||||||
|
class Duplicate(StandardError):
|
||||||
|
pass
|
||||||
|
|
||||||
|
class NoSuchMember(StandardError):
|
||||||
|
pass
|
||||||
|
|
||||||
|
class ParsingError(StandardError):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def __init__(self, parse_data, top=None):
|
||||||
|
self._parsed = False
|
||||||
|
self._error = False
|
||||||
|
self._parse_data = parse_data
|
||||||
|
self._members = []
|
||||||
|
self._dict_members = {}
|
||||||
|
self._in_category = {}
|
||||||
|
self._data = {}
|
||||||
|
if top is not None:
|
||||||
|
self._xml_path = top._xml_path
|
||||||
|
# Set up holder of references
|
||||||
|
else:
|
||||||
|
top = self
|
||||||
|
self._refs = {}
|
||||||
|
self._xml_path = parse_data
|
||||||
|
self.top = top
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_refid(cls, refid, top=None):
|
||||||
|
""" Instantiate class from a refid rather than parsing object. """
|
||||||
|
# First check to see if its already been instantiated.
|
||||||
|
if top is not None and refid in top._refs:
|
||||||
|
return top._refs[refid]
|
||||||
|
# Otherwise create a new instance and set refid.
|
||||||
|
inst = cls(None, top=top)
|
||||||
|
inst.refid = refid
|
||||||
|
inst.add_ref(inst)
|
||||||
|
return inst
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_parse_data(cls, parse_data, top=None):
|
||||||
|
refid = getattr(parse_data, 'refid', None)
|
||||||
|
if refid is not None and top is not None and refid in top._refs:
|
||||||
|
return top._refs[refid]
|
||||||
|
inst = cls(parse_data, top=top)
|
||||||
|
if refid is not None:
|
||||||
|
inst.refid = refid
|
||||||
|
inst.add_ref(inst)
|
||||||
|
return inst
|
||||||
|
|
||||||
|
def add_ref(self, obj):
|
||||||
|
if hasattr(obj, 'refid'):
|
||||||
|
self.top._refs[obj.refid] = obj
|
||||||
|
|
||||||
|
mem_classes = []
|
||||||
|
|
||||||
|
def get_cls(self, mem):
|
||||||
|
for cls in self.mem_classes:
|
||||||
|
if cls.can_parse(mem):
|
||||||
|
return cls
|
||||||
|
raise StandardError(("Did not find a class for object '%s'." \
|
||||||
|
% (mem.get_name())))
|
||||||
|
|
||||||
|
def convert_mem(self, mem):
|
||||||
|
try:
|
||||||
|
cls = self.get_cls(mem)
|
||||||
|
converted = cls.from_parse_data(mem, self.top)
|
||||||
|
if converted is None:
|
||||||
|
raise StandardError('No class matched this object.')
|
||||||
|
self.add_ref(converted)
|
||||||
|
return converted
|
||||||
|
except StandardError, e:
|
||||||
|
print e
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def includes(cls, inst):
|
||||||
|
return isinstance(inst, cls)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def can_parse(cls, obj):
|
||||||
|
return False
|
||||||
|
|
||||||
|
def _parse(self):
|
||||||
|
self._parsed = True
|
||||||
|
|
||||||
|
def _get_dict_members(self, cat=None):
|
||||||
|
"""
|
||||||
|
For given category a dictionary is returned mapping member names to
|
||||||
|
members of that category. For names that are duplicated the name is
|
||||||
|
mapped to None.
|
||||||
|
"""
|
||||||
|
self.confirm_no_error()
|
||||||
|
if cat not in self._dict_members:
|
||||||
|
new_dict = {}
|
||||||
|
for mem in self.in_category(cat):
|
||||||
|
if mem.name() not in new_dict:
|
||||||
|
new_dict[mem.name()] = mem
|
||||||
|
else:
|
||||||
|
new_dict[mem.name()] = self.Duplicate
|
||||||
|
self._dict_members[cat] = new_dict
|
||||||
|
return self._dict_members[cat]
|
||||||
|
|
||||||
|
def in_category(self, cat):
|
||||||
|
self.confirm_no_error()
|
||||||
|
if cat is None:
|
||||||
|
return self._members
|
||||||
|
if cat not in self._in_category:
|
||||||
|
self._in_category[cat] = [mem for mem in self._members
|
||||||
|
if cat.includes(mem)]
|
||||||
|
return self._in_category[cat]
|
||||||
|
|
||||||
|
def get_member(self, name, cat=None):
|
||||||
|
self.confirm_no_error()
|
||||||
|
# Check if it's in a namespace or class.
|
||||||
|
bits = name.split('::')
|
||||||
|
first = bits[0]
|
||||||
|
rest = '::'.join(bits[1:])
|
||||||
|
member = self._get_dict_members(cat).get(first, self.NoSuchMember)
|
||||||
|
# Raise any errors that are returned.
|
||||||
|
if member in set([self.NoSuchMember, self.Duplicate]):
|
||||||
|
raise member()
|
||||||
|
if rest:
|
||||||
|
return member.get_member(rest, cat=cat)
|
||||||
|
return member
|
||||||
|
|
||||||
|
def has_member(self, name, cat=None):
|
||||||
|
try:
|
||||||
|
mem = self.get_member(name, cat=cat)
|
||||||
|
return True
|
||||||
|
except self.NoSuchMember:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def data(self):
|
||||||
|
self.confirm_no_error()
|
||||||
|
return self._data
|
||||||
|
|
||||||
|
def members(self):
|
||||||
|
self.confirm_no_error()
|
||||||
|
return self._members
|
||||||
|
|
||||||
|
def process_memberdefs(self):
|
||||||
|
mdtss = []
|
||||||
|
for sec in self._retrieved_data.compounddef.sectiondef:
|
||||||
|
mdtss += sec.memberdef
|
||||||
|
# At the moment we lose all information associated with sections.
|
||||||
|
# Sometimes a memberdef is in several sectiondef.
|
||||||
|
# We make sure we don't get duplicates here.
|
||||||
|
uniques = set([])
|
||||||
|
for mem in mdtss:
|
||||||
|
converted = self.convert_mem(mem)
|
||||||
|
pair = (mem.name, mem.__class__)
|
||||||
|
if pair not in uniques:
|
||||||
|
uniques.add(pair)
|
||||||
|
self._members.append(converted)
|
||||||
|
|
||||||
|
def retrieve_data(self):
|
||||||
|
filename = os.path.join(self._xml_path, self.refid + '.xml')
|
||||||
|
try:
|
||||||
|
self._retrieved_data = compound.parse(filename)
|
||||||
|
except ExpatError:
|
||||||
|
print('Error in xml in file %s' % filename)
|
||||||
|
self._error = True
|
||||||
|
self._retrieved_data = None
|
||||||
|
|
||||||
|
def check_parsed(self):
|
||||||
|
if not self._parsed:
|
||||||
|
self._parse()
|
||||||
|
|
||||||
|
def confirm_no_error(self):
|
||||||
|
self.check_parsed()
|
||||||
|
if self._error:
|
||||||
|
raise self.ParsingError()
|
||||||
|
|
||||||
|
def error(self):
|
||||||
|
self.check_parsed()
|
||||||
|
return self._error
|
||||||
|
|
||||||
|
def name(self):
|
||||||
|
# first see if we can do it without processing.
|
||||||
|
if self._parse_data is not None:
|
||||||
|
return self._parse_data.name
|
||||||
|
self.check_parsed()
|
||||||
|
return self._retrieved_data.compounddef.name
|
|
@ -0,0 +1,237 @@
|
||||||
|
#
|
||||||
|
# Copyright 2010 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is part of GNU Radio
|
||||||
|
#
|
||||||
|
# GNU Radio is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# GNU Radio is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNU Radio; see the file COPYING. If not, write to
|
||||||
|
# the Free Software Foundation, Inc., 51 Franklin Street,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
"""
|
||||||
|
Classes providing more user-friendly interfaces to the doxygen xml
|
||||||
|
docs than the generated classes provide.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
from generated import index
|
||||||
|
from base import Base
|
||||||
|
from text import description
|
||||||
|
|
||||||
|
class DoxyIndex(Base):
|
||||||
|
"""
|
||||||
|
Parses a doxygen xml directory.
|
||||||
|
"""
|
||||||
|
|
||||||
|
__module__ = "gnuradio.utils.doxyxml"
|
||||||
|
|
||||||
|
def _parse(self):
|
||||||
|
if self._parsed:
|
||||||
|
return
|
||||||
|
super(DoxyIndex, self)._parse()
|
||||||
|
self._root = index.parse(os.path.join(self._xml_path, 'index.xml'))
|
||||||
|
for mem in self._root.compound:
|
||||||
|
converted = self.convert_mem(mem)
|
||||||
|
# For files we want the contents to be accessible directly
|
||||||
|
# from the parent rather than having to go through the file
|
||||||
|
# object.
|
||||||
|
if self.get_cls(mem) == DoxyFile:
|
||||||
|
if mem.name.endswith('.h'):
|
||||||
|
self._members += converted.members()
|
||||||
|
self._members.append(converted)
|
||||||
|
else:
|
||||||
|
self._members.append(converted)
|
||||||
|
|
||||||
|
|
||||||
|
def generate_swig_doc_i(self):
|
||||||
|
"""
|
||||||
|
%feature("docstring") gr_make_align_on_samplenumbers_ss::align_state "
|
||||||
|
Wraps the C++: gr_align_on_samplenumbers_ss::align_state";
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class DoxyCompMem(Base):
|
||||||
|
|
||||||
|
|
||||||
|
kind = None
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(DoxyCompMem, self).__init__(*args, **kwargs)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def can_parse(cls, obj):
|
||||||
|
return obj.kind == cls.kind
|
||||||
|
|
||||||
|
def set_descriptions(self, parse_data):
|
||||||
|
bd = description(getattr(parse_data, 'briefdescription', None))
|
||||||
|
dd = description(getattr(parse_data, 'detaileddescription', None))
|
||||||
|
self._data['brief_description'] = bd
|
||||||
|
self._data['detailed_description'] = dd
|
||||||
|
|
||||||
|
class DoxyCompound(DoxyCompMem):
|
||||||
|
pass
|
||||||
|
|
||||||
|
class DoxyMember(DoxyCompMem):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class DoxyFunction(DoxyMember):
|
||||||
|
|
||||||
|
__module__ = "gnuradio.utils.doxyxml"
|
||||||
|
|
||||||
|
kind = 'function'
|
||||||
|
|
||||||
|
def _parse(self):
|
||||||
|
if self._parsed:
|
||||||
|
return
|
||||||
|
super(DoxyFunction, self)._parse()
|
||||||
|
self.set_descriptions(self._parse_data)
|
||||||
|
self._data['params'] = []
|
||||||
|
prms = self._parse_data.param
|
||||||
|
for prm in prms:
|
||||||
|
self._data['params'].append(DoxyParam(prm))
|
||||||
|
|
||||||
|
brief_description = property(lambda self: self.data()['brief_description'])
|
||||||
|
detailed_description = property(lambda self: self.data()['detailed_description'])
|
||||||
|
params = property(lambda self: self.data()['params'])
|
||||||
|
|
||||||
|
Base.mem_classes.append(DoxyFunction)
|
||||||
|
|
||||||
|
|
||||||
|
class DoxyParam(DoxyMember):
|
||||||
|
|
||||||
|
__module__ = "gnuradio.utils.doxyxml"
|
||||||
|
|
||||||
|
def _parse(self):
|
||||||
|
if self._parsed:
|
||||||
|
return
|
||||||
|
super(DoxyParam, self)._parse()
|
||||||
|
self.set_descriptions(self._parse_data)
|
||||||
|
self._data['declname'] = self._parse_data.declname
|
||||||
|
|
||||||
|
brief_description = property(lambda self: self.data()['brief_description'])
|
||||||
|
detailed_description = property(lambda self: self.data()['detailed_description'])
|
||||||
|
declname = property(lambda self: self.data()['declname'])
|
||||||
|
|
||||||
|
class DoxyClass(DoxyCompound):
|
||||||
|
|
||||||
|
__module__ = "gnuradio.utils.doxyxml"
|
||||||
|
|
||||||
|
kind = 'class'
|
||||||
|
|
||||||
|
def _parse(self):
|
||||||
|
if self._parsed:
|
||||||
|
return
|
||||||
|
super(DoxyClass, self)._parse()
|
||||||
|
self.retrieve_data()
|
||||||
|
if self._error:
|
||||||
|
return
|
||||||
|
self.set_descriptions(self._retrieved_data.compounddef)
|
||||||
|
# Sectiondef.kind tells about whether private or public.
|
||||||
|
# We just ignore this for now.
|
||||||
|
self.process_memberdefs()
|
||||||
|
|
||||||
|
brief_description = property(lambda self: self.data()['brief_description'])
|
||||||
|
detailed_description = property(lambda self: self.data()['detailed_description'])
|
||||||
|
|
||||||
|
Base.mem_classes.append(DoxyClass)
|
||||||
|
|
||||||
|
|
||||||
|
class DoxyFile(DoxyCompound):
|
||||||
|
|
||||||
|
__module__ = "gnuradio.utils.doxyxml"
|
||||||
|
|
||||||
|
kind = 'file'
|
||||||
|
|
||||||
|
def _parse(self):
|
||||||
|
if self._parsed:
|
||||||
|
return
|
||||||
|
super(DoxyFile, self)._parse()
|
||||||
|
self.retrieve_data()
|
||||||
|
self.set_descriptions(self._retrieved_data.compounddef)
|
||||||
|
if self._error:
|
||||||
|
return
|
||||||
|
self.process_memberdefs()
|
||||||
|
|
||||||
|
brief_description = property(lambda self: self.data()['brief_description'])
|
||||||
|
detailed_description = property(lambda self: self.data()['detailed_description'])
|
||||||
|
|
||||||
|
Base.mem_classes.append(DoxyFile)
|
||||||
|
|
||||||
|
|
||||||
|
class DoxyNamespace(DoxyCompound):
|
||||||
|
|
||||||
|
__module__ = "gnuradio.utils.doxyxml"
|
||||||
|
|
||||||
|
kind = 'namespace'
|
||||||
|
|
||||||
|
Base.mem_classes.append(DoxyNamespace)
|
||||||
|
|
||||||
|
|
||||||
|
class DoxyGroup(DoxyCompound):
|
||||||
|
|
||||||
|
__module__ = "gnuradio.utils.doxyxml"
|
||||||
|
|
||||||
|
kind = 'group'
|
||||||
|
|
||||||
|
def _parse(self):
|
||||||
|
if self._parsed:
|
||||||
|
return
|
||||||
|
super(DoxyGroup, self)._parse()
|
||||||
|
self.retrieve_data()
|
||||||
|
if self._error:
|
||||||
|
return
|
||||||
|
cdef = self._retrieved_data.compounddef
|
||||||
|
self._data['title'] = description(cdef.title)
|
||||||
|
# Process inner groups
|
||||||
|
grps = cdef.innergroup
|
||||||
|
for grp in grps:
|
||||||
|
converted = DoxyGroup.from_refid(grp.refid, top=self.top)
|
||||||
|
self._members.append(converted)
|
||||||
|
# Process inner classes
|
||||||
|
klasses = cdef.innerclass
|
||||||
|
for kls in klasses:
|
||||||
|
converted = DoxyClass.from_refid(kls.refid, top=self.top)
|
||||||
|
self._members.append(converted)
|
||||||
|
# Process normal members
|
||||||
|
self.process_memberdefs()
|
||||||
|
|
||||||
|
title = property(lambda self: self.data()['title'])
|
||||||
|
|
||||||
|
|
||||||
|
Base.mem_classes.append(DoxyGroup)
|
||||||
|
|
||||||
|
|
||||||
|
class DoxyFriend(DoxyMember):
|
||||||
|
|
||||||
|
__module__ = "gnuradio.utils.doxyxml"
|
||||||
|
|
||||||
|
kind = 'friend'
|
||||||
|
|
||||||
|
Base.mem_classes.append(DoxyFriend)
|
||||||
|
|
||||||
|
|
||||||
|
class DoxyOther(Base):
|
||||||
|
|
||||||
|
__module__ = "gnuradio.utils.doxyxml"
|
||||||
|
|
||||||
|
kinds = set(['variable', 'struct', 'union', 'define', 'typedef', 'enum', 'dir', 'page'])
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def can_parse(cls, obj):
|
||||||
|
return obj.kind in cls.kinds
|
||||||
|
|
||||||
|
Base.mem_classes.append(DoxyOther)
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,50 @@
|
||||||
|
/* -*- c++ -*- */
|
||||||
|
/*
|
||||||
|
* Copyright 2010 Free Software Foundation, Inc.
|
||||||
|
*
|
||||||
|
* This file is part of GNU Radio
|
||||||
|
*
|
||||||
|
* GNU Radio is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* GNU Radio is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with GNU Radio; see the file COPYING. If not, write to
|
||||||
|
* the Free Software Foundation, Inc., 51 Franklin Street,
|
||||||
|
* Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
#include <iostream>
|
||||||
|
#include "aadvark.h"
|
||||||
|
|
||||||
|
void Aadvark::print() {
|
||||||
|
std::cout << "aadvark is " << aadvarkness << "/10 aadvarky" << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
Aadvark::Aadvark(int aaness): aadvarkness(aaness) {}
|
||||||
|
|
||||||
|
bool aadvarky_enough(Aadvark aad) {
|
||||||
|
if (aad.get_aadvarkness() > 6)
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
int Aadvark::get_aadvarkness() {
|
||||||
|
return aadvarkness;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
Aadvark arold = Aadvark(6);
|
||||||
|
arold.print();
|
||||||
|
if (aadvarky_enough(arold))
|
||||||
|
std::cout << "He is aadvarky enough" << std::endl;
|
||||||
|
else
|
||||||
|
std::cout << "He is not aadvarky enough" << std::endl;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
/* -*- c++ -*- */
|
||||||
|
/*
|
||||||
|
* Copyright 2010 Free Software Foundation, Inc.
|
||||||
|
*
|
||||||
|
* This file is part of GNU Radio
|
||||||
|
*
|
||||||
|
* GNU Radio is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
* any later version.
|
||||||
|
*
|
||||||
|
* GNU Radio is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with GNU Radio; see the file COPYING. If not, write to
|
||||||
|
* the Free Software Foundation, Inc., 51 Franklin Street,
|
||||||
|
* Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Models the mammal Aadvark.
|
||||||
|
*
|
||||||
|
* Sadly the model is incomplete and cannot capture all aspects of an aadvark yet.
|
||||||
|
*
|
||||||
|
* This line is uninformative and is only to test line breaks in the comments.
|
||||||
|
*/
|
||||||
|
class Aadvark {
|
||||||
|
public:
|
||||||
|
//! \brief Outputs the vital aadvark statistics.
|
||||||
|
void print();
|
||||||
|
//! \param aaness The aadvarkness of an aadvark is a measure of how aadvarky it is.
|
||||||
|
Aadvark(int aaness);
|
||||||
|
int get_aadvarkness();
|
||||||
|
private:
|
||||||
|
int aadvarkness;
|
||||||
|
};
|
||||||
|
|
||||||
|
bool aadvarky_enough(Aadvark aad);
|
||||||
|
|
||||||
|
int main();
|
|
@ -0,0 +1,88 @@
|
||||||
|
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
||||||
|
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.6.3">
|
||||||
|
<compounddef id="aadvark_8cc" kind="file">
|
||||||
|
<compoundname>aadvark.cc</compoundname>
|
||||||
|
<includes local="no">iostream</includes>
|
||||||
|
<includes refid="aadvark_8cc" local="yes">aadvark.h</includes>
|
||||||
|
<includedby refid="aadvark_8cc" local="yes">aadvark.cc</includedby>
|
||||||
|
<incdepgraph>
|
||||||
|
<node id="0">
|
||||||
|
<label>aadvark.cc</label>
|
||||||
|
<link refid="aadvark.cc"/>
|
||||||
|
<childnode refid="1" relation="include">
|
||||||
|
</childnode>
|
||||||
|
</node>
|
||||||
|
<node id="1">
|
||||||
|
<label>iostream</label>
|
||||||
|
</node>
|
||||||
|
</incdepgraph>
|
||||||
|
<sectiondef kind="func">
|
||||||
|
<memberdef kind="function" id="aadvark_8cc_1acb52858524210ec6dddc3e16d1e52946" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
|
||||||
|
<type>bool</type>
|
||||||
|
<definition>bool aadvarky_enough</definition>
|
||||||
|
<argsstring>(Aadvark aad)</argsstring>
|
||||||
|
<name>aadvarky_enough</name>
|
||||||
|
<param>
|
||||||
|
<type><ref refid="classAadvark" kindref="compound">Aadvark</ref></type>
|
||||||
|
<declname>aad</declname>
|
||||||
|
</param>
|
||||||
|
<briefdescription>
|
||||||
|
</briefdescription>
|
||||||
|
<detaileddescription>
|
||||||
|
</detaileddescription>
|
||||||
|
<inbodydescription>
|
||||||
|
</inbodydescription>
|
||||||
|
<location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" line="10" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="10" bodyend="15"/>
|
||||||
|
</memberdef>
|
||||||
|
<memberdef kind="function" id="aadvark_8cc_1ae66f6b31b5ad750f1fe042a706a4e3d4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
|
||||||
|
<type>int</type>
|
||||||
|
<definition>int main</definition>
|
||||||
|
<argsstring>()</argsstring>
|
||||||
|
<name>main</name>
|
||||||
|
<briefdescription>
|
||||||
|
</briefdescription>
|
||||||
|
<detaileddescription>
|
||||||
|
</detaileddescription>
|
||||||
|
<inbodydescription>
|
||||||
|
</inbodydescription>
|
||||||
|
<location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" line="21" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="21" bodyend="28"/>
|
||||||
|
</memberdef>
|
||||||
|
</sectiondef>
|
||||||
|
<briefdescription>
|
||||||
|
</briefdescription>
|
||||||
|
<detaileddescription>
|
||||||
|
</detaileddescription>
|
||||||
|
<programlisting>
|
||||||
|
<codeline lineno="1"><highlight class="preprocessor">#include<sp/><iostream></highlight><highlight class="normal"></highlight></codeline>
|
||||||
|
<codeline lineno="2"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"aadvark.h"</highlight><highlight class="normal"></highlight></codeline>
|
||||||
|
<codeline lineno="3"><highlight class="normal"></highlight></codeline>
|
||||||
|
<codeline lineno="4"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kindref="member" tooltip="Outputs the vital aadvark statistics.">Aadvark::print</ref>()<sp/>{</highlight></codeline>
|
||||||
|
<codeline lineno="5"><highlight class="normal"><sp/><sp/>std::cout<sp/><<<sp/></highlight><highlight class="stringliteral">"aadvark<sp/>is<sp/>"</highlight><highlight class="normal"><sp/><<<sp/>aadvarkness<sp/><<<sp/></highlight><highlight class="stringliteral">"/10<sp/>aadvarky"</highlight><highlight class="normal"><sp/><<<sp/>std::endl;</highlight></codeline>
|
||||||
|
<codeline lineno="6"><highlight class="normal">}</highlight></codeline>
|
||||||
|
<codeline lineno="7"><highlight class="normal"></highlight></codeline>
|
||||||
|
<codeline lineno="8"><highlight class="normal"><ref refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" kindref="member">Aadvark::Aadvark</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>aaness):<sp/>aadvarkness(aaness)<sp/>{}</highlight></codeline>
|
||||||
|
<codeline lineno="9"><highlight class="normal"></highlight></codeline>
|
||||||
|
<codeline lineno="10"><highlight class="normal"></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>aadvarky_enough(<ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>aad)<sp/>{</highlight></codeline>
|
||||||
|
<codeline lineno="11"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(aad.get_aadvarkness()<sp/>><sp/>6)</highlight></codeline>
|
||||||
|
<codeline lineno="12"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
|
||||||
|
<codeline lineno="13"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
|
||||||
|
<codeline lineno="14"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;</highlight></codeline>
|
||||||
|
<codeline lineno="15"><highlight class="normal">}</highlight></codeline>
|
||||||
|
<codeline lineno="16"><highlight class="normal"></highlight></codeline>
|
||||||
|
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>Aadvark::get_aadvarkness()<sp/>{</highlight></codeline>
|
||||||
|
<codeline lineno="18"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>aadvarkness;</highlight></codeline>
|
||||||
|
<codeline lineno="19"><highlight class="normal">}</highlight></codeline>
|
||||||
|
<codeline lineno="20"><highlight class="normal"></highlight></codeline>
|
||||||
|
<codeline lineno="21"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>main()<sp/>{</highlight></codeline>
|
||||||
|
<codeline lineno="22"><highlight class="normal"><sp/><sp/><ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>arold<sp/>=<sp/><ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref>(6);</highlight></codeline>
|
||||||
|
<codeline lineno="23"><highlight class="normal"><sp/><sp/>arold.<ref refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kindref="member" tooltip="Outputs the vital aadvark statistics.">print</ref>();</highlight></codeline>
|
||||||
|
<codeline lineno="24"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(aadvarky_enough(arold))</highlight></codeline>
|
||||||
|
<codeline lineno="25"><highlight class="normal"><sp/><sp/><sp/><sp/>std::cout<sp/><<<sp/></highlight><highlight class="stringliteral">"He<sp/>is<sp/>aadvarky<sp/>enough"</highlight><highlight class="normal"><sp/><<<sp/>std::endl;</highlight></codeline>
|
||||||
|
<codeline lineno="26"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
|
||||||
|
<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/>std::cout<sp/><<<sp/></highlight><highlight class="stringliteral">"He<sp/>is<sp/>not<sp/>aadvarky<sp/>enough"</highlight><highlight class="normal"><sp/><<<sp/>std::endl;</highlight></codeline>
|
||||||
|
<codeline lineno="28"><highlight class="normal">}</highlight></codeline>
|
||||||
|
<codeline lineno="29"><highlight class="normal"></highlight></codeline>
|
||||||
|
</programlisting>
|
||||||
|
<location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc"/>
|
||||||
|
</compounddef>
|
||||||
|
</doxygen>
|
|
@ -0,0 +1,72 @@
|
||||||
|
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
||||||
|
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.6.3">
|
||||||
|
<compounddef id="aadvark_8h" kind="file">
|
||||||
|
<compoundname>aadvark.h</compoundname>
|
||||||
|
<includes local="no">iostream</includes>
|
||||||
|
<incdepgraph>
|
||||||
|
<node id="3">
|
||||||
|
<label>aadvark.h</label>
|
||||||
|
<link refid="aadvark.h"/>
|
||||||
|
<childnode refid="4" relation="include">
|
||||||
|
</childnode>
|
||||||
|
</node>
|
||||||
|
<node id="4">
|
||||||
|
<label>iostream</label>
|
||||||
|
</node>
|
||||||
|
</incdepgraph>
|
||||||
|
<innerclass refid="classAadvark" prot="public">Aadvark</innerclass>
|
||||||
|
<sectiondef kind="func">
|
||||||
|
<memberdef kind="function" id="aadvark_8h_1acb52858524210ec6dddc3e16d1e52946" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
|
||||||
|
<type>bool</type>
|
||||||
|
<definition>bool aadvarky_enough</definition>
|
||||||
|
<argsstring>(Aadvark aad)</argsstring>
|
||||||
|
<name>aadvarky_enough</name>
|
||||||
|
<param>
|
||||||
|
<type><ref refid="classAadvark" kindref="compound">Aadvark</ref></type>
|
||||||
|
<declname>aad</declname>
|
||||||
|
</param>
|
||||||
|
<briefdescription>
|
||||||
|
</briefdescription>
|
||||||
|
<detaileddescription>
|
||||||
|
</detaileddescription>
|
||||||
|
<inbodydescription>
|
||||||
|
</inbodydescription>
|
||||||
|
<location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="21" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="10" bodyend="15"/>
|
||||||
|
</memberdef>
|
||||||
|
<memberdef kind="function" id="aadvark_8h_1ae66f6b31b5ad750f1fe042a706a4e3d4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
|
||||||
|
<type>int</type>
|
||||||
|
<definition>int main</definition>
|
||||||
|
<argsstring>()</argsstring>
|
||||||
|
<name>main</name>
|
||||||
|
<briefdescription>
|
||||||
|
</briefdescription>
|
||||||
|
<detaileddescription>
|
||||||
|
</detaileddescription>
|
||||||
|
<inbodydescription>
|
||||||
|
</inbodydescription>
|
||||||
|
<location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="23" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="21" bodyend="28"/>
|
||||||
|
</memberdef>
|
||||||
|
</sectiondef>
|
||||||
|
<briefdescription>
|
||||||
|
</briefdescription>
|
||||||
|
<detaileddescription>
|
||||||
|
</detaileddescription>
|
||||||
|
<programlisting>
|
||||||
|
<codeline lineno="1"><highlight class="preprocessor">#include<sp/><iostream></highlight><highlight class="normal"></highlight></codeline>
|
||||||
|
<codeline lineno="2"><highlight class="normal"></highlight></codeline>
|
||||||
|
<codeline lineno="10" refid="classAadvark" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>{</highlight></codeline>
|
||||||
|
<codeline lineno="11"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
||||||
|
<codeline lineno="13"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kindref="member" tooltip="Outputs the vital aadvark statistics.">print</ref>();</highlight></codeline>
|
||||||
|
<codeline lineno="15"><highlight class="normal"><sp/><sp/><ref refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" kindref="member">Aadvark</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>aaness);</highlight></codeline>
|
||||||
|
<codeline lineno="16"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>get_aadvarkness();</highlight></codeline>
|
||||||
|
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
|
||||||
|
<codeline lineno="18"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>aadvarkness;</highlight></codeline>
|
||||||
|
<codeline lineno="19"><highlight class="normal">};</highlight></codeline>
|
||||||
|
<codeline lineno="20"><highlight class="normal"></highlight></codeline>
|
||||||
|
<codeline lineno="21"><highlight class="normal"></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>aadvarky_enough(<ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>aad);</highlight></codeline>
|
||||||
|
<codeline lineno="22"><highlight class="normal"></highlight></codeline>
|
||||||
|
<codeline lineno="23"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>main();</highlight></codeline>
|
||||||
|
</programlisting>
|
||||||
|
<location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h"/>
|
||||||
|
</compounddef>
|
||||||
|
</doxygen>
|
|
@ -0,0 +1,86 @@
|
||||||
|
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
||||||
|
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.6.3">
|
||||||
|
<compounddef id="classAadvark" kind="class" prot="public">
|
||||||
|
<compoundname>Aadvark</compoundname>
|
||||||
|
<includes refid="aadvark_8h" local="no">aadvark.h</includes>
|
||||||
|
<sectiondef kind="private-attrib">
|
||||||
|
<memberdef kind="variable" id="classAadvark_1ab79eb58d7bb9d5ddfa5d6f783836cab9" prot="private" static="no" mutable="no">
|
||||||
|
<type>int</type>
|
||||||
|
<definition>int Aadvark::aadvarkness</definition>
|
||||||
|
<argsstring></argsstring>
|
||||||
|
<name>aadvarkness</name>
|
||||||
|
<briefdescription>
|
||||||
|
</briefdescription>
|
||||||
|
<detaileddescription>
|
||||||
|
</detaileddescription>
|
||||||
|
<inbodydescription>
|
||||||
|
</inbodydescription>
|
||||||
|
<location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="18" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" bodystart="18" bodyend="-1"/>
|
||||||
|
</memberdef>
|
||||||
|
</sectiondef>
|
||||||
|
<sectiondef kind="public-func">
|
||||||
|
<memberdef kind="function" id="classAadvark_1abd061aa5f998002e72080a34f512a059" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
|
||||||
|
<type>void</type>
|
||||||
|
<definition>void Aadvark::print</definition>
|
||||||
|
<argsstring>()</argsstring>
|
||||||
|
<name>print</name>
|
||||||
|
<briefdescription>
|
||||||
|
<para>Outputs the vital aadvark statistics. </para> </briefdescription>
|
||||||
|
<detaileddescription>
|
||||||
|
</detaileddescription>
|
||||||
|
<inbodydescription>
|
||||||
|
</inbodydescription>
|
||||||
|
<location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="13" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="4" bodyend="6"/>
|
||||||
|
</memberdef>
|
||||||
|
<memberdef kind="function" id="classAadvark_1adf1a4b97a641411a74a04ab312484462" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
|
||||||
|
<type></type>
|
||||||
|
<definition>Aadvark::Aadvark</definition>
|
||||||
|
<argsstring>(int aaness)</argsstring>
|
||||||
|
<name>Aadvark</name>
|
||||||
|
<param>
|
||||||
|
<type>int</type>
|
||||||
|
<declname>aaness</declname>
|
||||||
|
</param>
|
||||||
|
<briefdescription>
|
||||||
|
</briefdescription>
|
||||||
|
<detaileddescription>
|
||||||
|
<para><parameterlist kind="param"><parameteritem>
|
||||||
|
<parameternamelist>
|
||||||
|
<parametername>aaness</parametername>
|
||||||
|
</parameternamelist>
|
||||||
|
<parameterdescription>
|
||||||
|
<para>The aadvarkness of an aadvark is a measure of how aadvarky it is. </para></parameterdescription>
|
||||||
|
</parameteritem>
|
||||||
|
</parameterlist>
|
||||||
|
</para> </detaileddescription>
|
||||||
|
<inbodydescription>
|
||||||
|
</inbodydescription>
|
||||||
|
<location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="15" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="8" bodyend="8"/>
|
||||||
|
</memberdef>
|
||||||
|
<memberdef kind="function" id="classAadvark_1affd2ada0a85807efcbe26615a848f53e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
|
||||||
|
<type>int</type>
|
||||||
|
<definition>int Aadvark::get_aadvarkness</definition>
|
||||||
|
<argsstring>()</argsstring>
|
||||||
|
<name>get_aadvarkness</name>
|
||||||
|
<briefdescription>
|
||||||
|
</briefdescription>
|
||||||
|
<detaileddescription>
|
||||||
|
</detaileddescription>
|
||||||
|
<inbodydescription>
|
||||||
|
</inbodydescription>
|
||||||
|
<location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="16" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="17" bodyend="19"/>
|
||||||
|
</memberdef>
|
||||||
|
</sectiondef>
|
||||||
|
<briefdescription>
|
||||||
|
<para>Models the mammal <ref refid="classAadvark" kindref="compound">Aadvark</ref>. </para> </briefdescription>
|
||||||
|
<detaileddescription>
|
||||||
|
<para>Sadly the model is incomplete and cannot capture all aspects of an aadvark yet.</para><para>This line is uninformative and is only to test line breaks in the comments. </para> </detaileddescription>
|
||||||
|
<location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="10" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" bodystart="10" bodyend="19"/>
|
||||||
|
<listofallmembers>
|
||||||
|
<member refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" prot="public" virt="non-virtual"><scope>Aadvark</scope><name>Aadvark</name></member>
|
||||||
|
<member refid="classAadvark_1ab79eb58d7bb9d5ddfa5d6f783836cab9" prot="private" virt="non-virtual"><scope>Aadvark</scope><name>aadvarkness</name></member>
|
||||||
|
<member refid="classAadvark_1affd2ada0a85807efcbe26615a848f53e" prot="public" virt="non-virtual"><scope>Aadvark</scope><name>get_aadvarkness</name></member>
|
||||||
|
<member refid="classAadvark_1abd061aa5f998002e72080a34f512a059" prot="public" virt="non-virtual"><scope>Aadvark</scope><name>print</name></member>
|
||||||
|
</listofallmembers>
|
||||||
|
</compounddef>
|
||||||
|
</doxygen>
|
|
@ -0,0 +1,15 @@
|
||||||
|
<!-- XSLT script to combine the generated output into a single file.
|
||||||
|
If you have xsltproc you could use:
|
||||||
|
xsltproc combine.xslt index.xml >all.xml
|
||||||
|
-->
|
||||||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||||
|
<xsl:output method="xml" version="1.0" indent="yes" standalone="yes" />
|
||||||
|
<xsl:template match="/">
|
||||||
|
<doxygen version="{doxygenindex/@version}">
|
||||||
|
<!-- Load all doxgen generated xml files -->
|
||||||
|
<xsl:for-each select="doxygenindex/compound">
|
||||||
|
<xsl:copy-of select="document( concat( @refid, '.xml' ) )/doxygen/*" />
|
||||||
|
</xsl:for-each>
|
||||||
|
</doxygen>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
|
@ -0,0 +1,814 @@
|
||||||
|
<?xml version='1.0' encoding='utf-8' ?>
|
||||||
|
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xsd:element name="doxygen" type="DoxygenType"/>
|
||||||
|
|
||||||
|
<!-- Complex types -->
|
||||||
|
|
||||||
|
<xsd:complexType name="DoxygenType">
|
||||||
|
<xsd:sequence maxOccurs="unbounded">
|
||||||
|
<xsd:element name="compounddef" type="compounddefType" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="version" type="DoxVersionNumber" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="compounddefType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="compoundname" type="xsd:string"/>
|
||||||
|
<xsd:element name="title" type="xsd:string" minOccurs="0" />
|
||||||
|
<xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="includes" type="incType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="includedby" type="incType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="incdepgraph" type="graphType" minOccurs="0" />
|
||||||
|
<xsd:element name="invincdepgraph" type="graphType" minOccurs="0" />
|
||||||
|
<xsd:element name="innerdir" type="refType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="innerfile" type="refType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="innerclass" type="refType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="innernamespace" type="refType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="innerpage" type="refType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="innergroup" type="refType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
|
||||||
|
<xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
|
||||||
|
<xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
|
||||||
|
<xsd:element name="inheritancegraph" type="graphType" minOccurs="0" />
|
||||||
|
<xsd:element name="collaborationgraph" type="graphType" minOccurs="0" />
|
||||||
|
<xsd:element name="programlisting" type="listingType" minOccurs="0" />
|
||||||
|
<xsd:element name="location" type="locationType" minOccurs="0" />
|
||||||
|
<xsd:element name="listofallmembers" type="listofallmembersType" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id" type="xsd:string" />
|
||||||
|
<xsd:attribute name="kind" type="DoxCompoundKind" />
|
||||||
|
<xsd:attribute name="prot" type="DoxProtectionKind" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="listofallmembersType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="member" type="memberRefType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="memberRefType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="scope" />
|
||||||
|
<xsd:element name="name" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="refid" type="xsd:string" />
|
||||||
|
<xsd:attribute name="prot" type="DoxProtectionKind" />
|
||||||
|
<xsd:attribute name="virt" type="DoxVirtualKind" />
|
||||||
|
<xsd:attribute name="ambiguityscope" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="compoundRefType" mixed="true">
|
||||||
|
<xsd:simpleContent>
|
||||||
|
<xsd:extension base="xsd:string">
|
||||||
|
<xsd:attribute name="refid" type="xsd:string" use="optional" />
|
||||||
|
<xsd:attribute name="prot" type="DoxProtectionKind" />
|
||||||
|
<xsd:attribute name="virt" type="DoxVirtualKind" />
|
||||||
|
</xsd:extension>
|
||||||
|
</xsd:simpleContent>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="reimplementType" mixed="true">
|
||||||
|
<xsd:simpleContent>
|
||||||
|
<xsd:extension base="xsd:string">
|
||||||
|
<xsd:attribute name="refid" type="xsd:string" />
|
||||||
|
</xsd:extension>
|
||||||
|
</xsd:simpleContent>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="incType" mixed="true">
|
||||||
|
<xsd:simpleContent>
|
||||||
|
<xsd:extension base="xsd:string">
|
||||||
|
<xsd:attribute name="refid" type="xsd:string" />
|
||||||
|
<xsd:attribute name="local" type="DoxBool" />
|
||||||
|
</xsd:extension>
|
||||||
|
</xsd:simpleContent>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="refType" mixed="true">
|
||||||
|
<xsd:simpleContent>
|
||||||
|
<xsd:extension base="xsd:string">
|
||||||
|
<xsd:attribute name="refid" type="xsd:string" />
|
||||||
|
<xsd:attribute name="prot" type="DoxProtectionKind" use="optional"/>
|
||||||
|
</xsd:extension>
|
||||||
|
</xsd:simpleContent>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="refTextType" mixed="true">
|
||||||
|
<xsd:simpleContent>
|
||||||
|
<xsd:extension base="xsd:string">
|
||||||
|
<xsd:attribute name="refid" type="xsd:string" />
|
||||||
|
<xsd:attribute name="kindref" type="DoxRefKind" />
|
||||||
|
<xsd:attribute name="external" type="xsd:string" use="optional"/>
|
||||||
|
<xsd:attribute name="tooltip" type="xsd:string" use="optional"/>
|
||||||
|
</xsd:extension>
|
||||||
|
</xsd:simpleContent>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="sectiondefType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="header" type="xsd:string" minOccurs="0" />
|
||||||
|
<xsd:element name="description" type="descriptionType" minOccurs="0" />
|
||||||
|
<xsd:element name="memberdef" type="memberdefType" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="kind" type="DoxSectionKind" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="memberdefType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
|
||||||
|
<xsd:element name="type" type="linkedTextType" minOccurs="0" />
|
||||||
|
<xsd:element name="definition" minOccurs="0" />
|
||||||
|
<xsd:element name="argsstring" minOccurs="0" />
|
||||||
|
<xsd:element name="name" />
|
||||||
|
<xsd:element name="read" minOccurs="0" />
|
||||||
|
<xsd:element name="write" minOccurs="0" />
|
||||||
|
<xsd:element name="bitfield" minOccurs="0" />
|
||||||
|
<xsd:element name="reimplements" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="reimplementedby" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="enumvalue" type="enumvalueType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
|
||||||
|
<xsd:element name="exceptions" type="linkedTextType" minOccurs="0" />
|
||||||
|
<xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
|
||||||
|
<xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
|
||||||
|
<xsd:element name="inbodydescription" type="descriptionType" minOccurs="0" />
|
||||||
|
<xsd:element name="location" type="locationType" />
|
||||||
|
<xsd:element name="references" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="referencedby" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="kind" type="DoxMemberKind" />
|
||||||
|
<xsd:attribute name="id" type="xsd:string" />
|
||||||
|
<xsd:attribute name="prot" type="DoxProtectionKind" />
|
||||||
|
<xsd:attribute name="static" type="DoxBool" />
|
||||||
|
<xsd:attribute name="const" type="DoxBool" />
|
||||||
|
<xsd:attribute name="explicit" type="DoxBool" />
|
||||||
|
<xsd:attribute name="inline" type="DoxBool" />
|
||||||
|
<xsd:attribute name="virt" type="DoxVirtualKind" />
|
||||||
|
<xsd:attribute name="volatile" type="DoxBool" />
|
||||||
|
<xsd:attribute name="mutable" type="DoxBool" />
|
||||||
|
<!-- Qt property -->
|
||||||
|
<xsd:attribute name="readable" type="DoxBool" use="optional"/>
|
||||||
|
<xsd:attribute name="writable" type="DoxBool" use="optional"/>
|
||||||
|
<!-- C++/CLI variable -->
|
||||||
|
<xsd:attribute name="initonly" type="DoxBool" use="optional"/>
|
||||||
|
<!-- C++/CLI and C# property -->
|
||||||
|
<xsd:attribute name="settable" type="DoxBool" use="optional"/>
|
||||||
|
<xsd:attribute name="gettable" type="DoxBool" use="optional"/>
|
||||||
|
<!-- C++/CLI function -->
|
||||||
|
<xsd:attribute name="final" type="DoxBool" use="optional"/>
|
||||||
|
<xsd:attribute name="sealed" type="DoxBool" use="optional"/>
|
||||||
|
<xsd:attribute name="new" type="DoxBool" use="optional"/>
|
||||||
|
<!-- C++/CLI event -->
|
||||||
|
<xsd:attribute name="add" type="DoxBool" use="optional"/>
|
||||||
|
<xsd:attribute name="remove" type="DoxBool" use="optional"/>
|
||||||
|
<xsd:attribute name="raise" type="DoxBool" use="optional"/>
|
||||||
|
<!-- Objective-C 2.0 protocol method -->
|
||||||
|
<xsd:attribute name="optional" type="DoxBool" use="optional"/>
|
||||||
|
<xsd:attribute name="required" type="DoxBool" use="optional"/>
|
||||||
|
<!-- Objective-C 2.0 property accessor -->
|
||||||
|
<xsd:attribute name="accessor" type="DoxAccessor" use="optional"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="descriptionType" mixed="true">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="title" type="xsd:string" minOccurs="0"/>
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="internal" type="docInternalType" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="enumvalueType" mixed="true">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="name" />
|
||||||
|
<xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
|
||||||
|
<xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
|
||||||
|
<xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id" type="xsd:string" />
|
||||||
|
<xsd:attribute name="prot" type="DoxProtectionKind" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="templateparamlistType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="paramType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="type" type="linkedTextType" minOccurs="0" />
|
||||||
|
<xsd:element name="declname" minOccurs="0" />
|
||||||
|
<xsd:element name="defname" minOccurs="0" />
|
||||||
|
<xsd:element name="array" minOccurs="0" />
|
||||||
|
<xsd:element name="defval" type="linkedTextType" minOccurs="0" />
|
||||||
|
<xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="linkedTextType" mixed="true">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="graphType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="node" type="nodeType" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="nodeType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="label" />
|
||||||
|
<xsd:element name="link" type="linkType" minOccurs="0" />
|
||||||
|
<xsd:element name="childnode" type="childnodeType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="childnodeType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="edgelabel" minOccurs="0" maxOccurs="unbounded"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="refid" type="xsd:string" />
|
||||||
|
<xsd:attribute name="relation" type="DoxGraphRelation" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="linkType">
|
||||||
|
<xsd:attribute name="refid" type="xsd:string" />
|
||||||
|
<xsd:attribute name="external" type="xsd:string" use="optional"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="listingType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="codeline" type="codelineType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="codelineType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="highlight" type="highlightType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="lineno" type="xsd:integer" />
|
||||||
|
<xsd:attribute name="refid" type="xsd:string" />
|
||||||
|
<xsd:attribute name="refkind" type="DoxRefKind" />
|
||||||
|
<xsd:attribute name="external" type="DoxBool" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="highlightType" mixed="true">
|
||||||
|
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xsd:element name="sp" />
|
||||||
|
<xsd:element name="ref" type="refTextType" />
|
||||||
|
</xsd:choice>
|
||||||
|
<xsd:attribute name="class" type="DoxHighlightClass" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="referenceType" mixed="true">
|
||||||
|
<xsd:attribute name="refid" type="xsd:string" />
|
||||||
|
<xsd:attribute name="compoundref" type="xsd:string" use="optional" />
|
||||||
|
<xsd:attribute name="startline" type="xsd:integer" />
|
||||||
|
<xsd:attribute name="endline" type="xsd:integer" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="locationType">
|
||||||
|
<xsd:attribute name="file" type="xsd:string" />
|
||||||
|
<xsd:attribute name="line" type="xsd:integer" />
|
||||||
|
<xsd:attribute name="bodyfile" type="xsd:string" />
|
||||||
|
<xsd:attribute name="bodystart" type="xsd:integer" />
|
||||||
|
<xsd:attribute name="bodyend" type="xsd:integer" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docSect1Type" mixed="true">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="title" type="xsd:string" />
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="internal" type="docInternalS1Type" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docSect2Type" mixed="true">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="title" type="xsd:string" />
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="internal" type="docInternalS2Type" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docSect3Type" mixed="true">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="title" type="xsd:string" />
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="sect4" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="internal" type="docInternalS3Type" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docSect4Type" mixed="true">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="title" type="xsd:string" />
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="internal" type="docInternalS4Type" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docInternalType" mixed="true">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docInternalS1Type" mixed="true">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docInternalS2Type" mixed="true">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docInternalS3Type" mixed="true">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="sect3" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docInternalS4Type" mixed="true">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:group name="docTitleCmdGroup">
|
||||||
|
<xsd:choice>
|
||||||
|
<xsd:element name="ulink" type="docURLLink" />
|
||||||
|
<xsd:element name="bold" type="docMarkupType" />
|
||||||
|
<xsd:element name="emphasis" type="docMarkupType" />
|
||||||
|
<xsd:element name="computeroutput" type="docMarkupType" />
|
||||||
|
<xsd:element name="subscript" type="docMarkupType" />
|
||||||
|
<xsd:element name="superscript" type="docMarkupType" />
|
||||||
|
<xsd:element name="center" type="docMarkupType" />
|
||||||
|
<xsd:element name="small" type="docMarkupType" />
|
||||||
|
<xsd:element name="htmlonly" type="xsd:string" />
|
||||||
|
<xsd:element name="latexonly" type="xsd:string" />
|
||||||
|
<xsd:element name="dot" type="xsd:string" />
|
||||||
|
<xsd:element name="anchor" type="docAnchorType" />
|
||||||
|
<xsd:element name="formula" type="docFormulaType" />
|
||||||
|
<xsd:element name="ref" type="docRefTextType" />
|
||||||
|
<xsd:element name="copy" type="docEmptyType" />
|
||||||
|
<xsd:element name="trademark" type="docEmptyType" />
|
||||||
|
<xsd:element name="registered" type="docEmptyType" />
|
||||||
|
<xsd:element name="lsquo" type="docEmptyType" />
|
||||||
|
<xsd:element name="rsquo" type="docEmptyType" />
|
||||||
|
<xsd:element name="ldquo" type="docEmptyType" />
|
||||||
|
<xsd:element name="rdquo" type="docEmptyType" />
|
||||||
|
<xsd:element name="ndash" type="docEmptyType" />
|
||||||
|
<xsd:element name="mdash" type="docEmptyType" />
|
||||||
|
<xsd:element name="umlaut" type="docCharType" />
|
||||||
|
<xsd:element name="acute" type="docCharType" />
|
||||||
|
<xsd:element name="grave" type="docCharType" />
|
||||||
|
<xsd:element name="circ" type="docCharType" />
|
||||||
|
<xsd:element name="slash" type="docCharType" />
|
||||||
|
<xsd:element name="tilde" type="docCharType" />
|
||||||
|
<xsd:element name="cedil" type="docCharType" />
|
||||||
|
<xsd:element name="ring" type="docCharType" />
|
||||||
|
<xsd:element name="szlig" type="docEmptyType" />
|
||||||
|
<xsd:element name="nonbreakablespace" type="docEmptyType" />
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:group>
|
||||||
|
|
||||||
|
<xsd:complexType name="docTitleType" mixed="true">
|
||||||
|
<xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:group name="docCmdGroup">
|
||||||
|
<xsd:choice>
|
||||||
|
<xsd:group ref="docTitleCmdGroup"/>
|
||||||
|
<xsd:element name="linebreak" type="docEmptyType" />
|
||||||
|
<xsd:element name="hruler" type="docEmptyType" />
|
||||||
|
<xsd:element name="preformatted" type="docMarkupType" />
|
||||||
|
<xsd:element name="programlisting" type="listingType" />
|
||||||
|
<xsd:element name="verbatim" type="xsd:string" />
|
||||||
|
<xsd:element name="indexentry" type="docIndexEntryType" />
|
||||||
|
<xsd:element name="orderedlist" type="docListType" />
|
||||||
|
<xsd:element name="itemizedlist" type="docListType" />
|
||||||
|
<xsd:element name="simplesect" type="docSimpleSectType" />
|
||||||
|
<xsd:element name="title" type="docTitleType" />
|
||||||
|
<xsd:element name="variablelist" type="docVariableListType" />
|
||||||
|
<xsd:element name="table" type="docTableType" />
|
||||||
|
<xsd:element name="heading" type="docHeadingType" />
|
||||||
|
<xsd:element name="image" type="docImageType" />
|
||||||
|
<xsd:element name="dotfile" type="docDotFileType" />
|
||||||
|
<xsd:element name="toclist" type="docTocListType" />
|
||||||
|
<xsd:element name="language" type="docLanguageType" />
|
||||||
|
<xsd:element name="parameterlist" type="docParamListType" />
|
||||||
|
<xsd:element name="xrefsect" type="docXRefSectType" />
|
||||||
|
<xsd:element name="copydoc" type="docCopyType" />
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:group>
|
||||||
|
|
||||||
|
<xsd:complexType name="docParaType" mixed="true">
|
||||||
|
<xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docMarkupType" mixed="true">
|
||||||
|
<xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docURLLink" mixed="true">
|
||||||
|
<xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:attribute name="url" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docAnchorType" mixed="true">
|
||||||
|
<xsd:attribute name="id" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docFormulaType" mixed="true">
|
||||||
|
<xsd:attribute name="id" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docIndexEntryType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="primaryie" type="xsd:string" />
|
||||||
|
<xsd:element name="secondaryie" type="xsd:string" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docListType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="listitem" type="docListItemType" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docListItemType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docSimpleSectType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="title" type="docTitleType" minOccurs="0" />
|
||||||
|
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="1" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="simplesectsep" type="docEmptyType" minOccurs="0"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="kind" type="DoxSimpleSectKind" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docVarListEntryType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="term" type="docTitleType" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:group name="docVariableListGroup">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="varlistentry" type="docVarListEntryType" />
|
||||||
|
<xsd:element name="listitem" type="docListItemType" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:group>
|
||||||
|
|
||||||
|
<xsd:complexType name="docVariableListType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:group ref="docVariableListGroup" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docRefTextType" mixed="true">
|
||||||
|
<xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:attribute name="refid" type="xsd:string" />
|
||||||
|
<xsd:attribute name="kindref" type="DoxRefKind" />
|
||||||
|
<xsd:attribute name="external" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docTableType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="row" type="docRowType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="caption" type="docCaptionType" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="rows" type="xsd:integer" />
|
||||||
|
<xsd:attribute name="cols" type="xsd:integer" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docRowType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="entry" type="docEntryType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docEntryType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="thead" type="DoxBool" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docCaptionType" mixed="true">
|
||||||
|
<xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docHeadingType" mixed="true">
|
||||||
|
<xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:attribute name="level" type="xsd:integer" /> <!-- todo: range 1-6 -->
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docImageType" mixed="true">
|
||||||
|
<xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:attribute name="type" type="DoxImageKind" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
<xsd:attribute name="width" type="xsd:string" />
|
||||||
|
<xsd:attribute name="height" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docDotFileType" mixed="true">
|
||||||
|
<xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docTocItemType" mixed="true">
|
||||||
|
<xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:attribute name="id" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docTocListType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="tocitem" type="docTocItemType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docLanguageType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="langid" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docParamListType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="parameteritem" type="docParamListItem" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="kind" type="DoxParamListKind" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docParamListItem">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="parameternamelist" type="docParamNameList" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="parameterdescription" type="descriptionType" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docParamNameList">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="parametername" type="docParamName" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docParamName" mixed="true">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="direction" type="DoxParamDir" use="optional" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docXRefSectType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="xreftitle" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="xrefdescription" type="descriptionType" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="id" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docCopyType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
|
||||||
|
<xsd:element name="internal" type="docInternalType" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="link" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docCharType">
|
||||||
|
<xsd:attribute name="char" type="DoxCharRange"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="docEmptyType"/>
|
||||||
|
|
||||||
|
<!-- Simple types -->
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxBool">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="yes" />
|
||||||
|
<xsd:enumeration value="no" />
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxGraphRelation">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="include" />
|
||||||
|
<xsd:enumeration value="usage" />
|
||||||
|
<xsd:enumeration value="template-instance" />
|
||||||
|
<xsd:enumeration value="public-inheritance" />
|
||||||
|
<xsd:enumeration value="protected-inheritance" />
|
||||||
|
<xsd:enumeration value="private-inheritance" />
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxRefKind">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="compound" />
|
||||||
|
<xsd:enumeration value="member" />
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxMemberKind">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="define" />
|
||||||
|
<xsd:enumeration value="property" />
|
||||||
|
<xsd:enumeration value="event" />
|
||||||
|
<xsd:enumeration value="variable" />
|
||||||
|
<xsd:enumeration value="typedef" />
|
||||||
|
<xsd:enumeration value="enum" />
|
||||||
|
<xsd:enumeration value="function" />
|
||||||
|
<xsd:enumeration value="signal" />
|
||||||
|
<xsd:enumeration value="prototype" />
|
||||||
|
<xsd:enumeration value="friend" />
|
||||||
|
<xsd:enumeration value="dcop" />
|
||||||
|
<xsd:enumeration value="slot" />
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxProtectionKind">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="public" />
|
||||||
|
<xsd:enumeration value="protected" />
|
||||||
|
<xsd:enumeration value="private" />
|
||||||
|
<xsd:enumeration value="package" />
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxVirtualKind">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="non-virtual" />
|
||||||
|
<xsd:enumeration value="virtual" />
|
||||||
|
<xsd:enumeration value="pure-virtual" />
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxCompoundKind">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="class" />
|
||||||
|
<xsd:enumeration value="struct" />
|
||||||
|
<xsd:enumeration value="union" />
|
||||||
|
<xsd:enumeration value="interface" />
|
||||||
|
<xsd:enumeration value="protocol" />
|
||||||
|
<xsd:enumeration value="category" />
|
||||||
|
<xsd:enumeration value="exception" />
|
||||||
|
<xsd:enumeration value="file" />
|
||||||
|
<xsd:enumeration value="namespace" />
|
||||||
|
<xsd:enumeration value="group" />
|
||||||
|
<xsd:enumeration value="page" />
|
||||||
|
<xsd:enumeration value="example" />
|
||||||
|
<xsd:enumeration value="dir" />
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxSectionKind">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="user-defined" />
|
||||||
|
<xsd:enumeration value="public-type" />
|
||||||
|
<xsd:enumeration value="public-func" />
|
||||||
|
<xsd:enumeration value="public-attrib" />
|
||||||
|
<xsd:enumeration value="public-slot" />
|
||||||
|
<xsd:enumeration value="signal" />
|
||||||
|
<xsd:enumeration value="dcop-func" />
|
||||||
|
<xsd:enumeration value="property" />
|
||||||
|
<xsd:enumeration value="event" />
|
||||||
|
<xsd:enumeration value="public-static-func" />
|
||||||
|
<xsd:enumeration value="public-static-attrib" />
|
||||||
|
<xsd:enumeration value="protected-type" />
|
||||||
|
<xsd:enumeration value="protected-func" />
|
||||||
|
<xsd:enumeration value="protected-attrib" />
|
||||||
|
<xsd:enumeration value="protected-slot" />
|
||||||
|
<xsd:enumeration value="protected-static-func" />
|
||||||
|
<xsd:enumeration value="protected-static-attrib" />
|
||||||
|
<xsd:enumeration value="package-type" />
|
||||||
|
<xsd:enumeration value="package-func" />
|
||||||
|
<xsd:enumeration value="package-attrib" />
|
||||||
|
<xsd:enumeration value="package-static-func" />
|
||||||
|
<xsd:enumeration value="package-static-attrib" />
|
||||||
|
<xsd:enumeration value="private-type" />
|
||||||
|
<xsd:enumeration value="private-func" />
|
||||||
|
<xsd:enumeration value="private-attrib" />
|
||||||
|
<xsd:enumeration value="private-slot" />
|
||||||
|
<xsd:enumeration value="private-static-func" />
|
||||||
|
<xsd:enumeration value="private-static-attrib" />
|
||||||
|
<xsd:enumeration value="friend" />
|
||||||
|
<xsd:enumeration value="related" />
|
||||||
|
<xsd:enumeration value="define" />
|
||||||
|
<xsd:enumeration value="prototype" />
|
||||||
|
<xsd:enumeration value="typedef" />
|
||||||
|
<xsd:enumeration value="enum" />
|
||||||
|
<xsd:enumeration value="func" />
|
||||||
|
<xsd:enumeration value="var" />
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxHighlightClass">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="comment" />
|
||||||
|
<xsd:enumeration value="normal" />
|
||||||
|
<xsd:enumeration value="preprocessor" />
|
||||||
|
<xsd:enumeration value="keyword" />
|
||||||
|
<xsd:enumeration value="keywordtype" />
|
||||||
|
<xsd:enumeration value="keywordflow" />
|
||||||
|
<xsd:enumeration value="stringliteral" />
|
||||||
|
<xsd:enumeration value="charliteral" />
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxSimpleSectKind">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="see" />
|
||||||
|
<xsd:enumeration value="return" />
|
||||||
|
<xsd:enumeration value="author" />
|
||||||
|
<xsd:enumeration value="authors" />
|
||||||
|
<xsd:enumeration value="version" />
|
||||||
|
<xsd:enumeration value="since" />
|
||||||
|
<xsd:enumeration value="date" />
|
||||||
|
<xsd:enumeration value="note" />
|
||||||
|
<xsd:enumeration value="warning" />
|
||||||
|
<xsd:enumeration value="pre" />
|
||||||
|
<xsd:enumeration value="post" />
|
||||||
|
<xsd:enumeration value="invariant" />
|
||||||
|
<xsd:enumeration value="remark" />
|
||||||
|
<xsd:enumeration value="attention" />
|
||||||
|
<xsd:enumeration value="par" />
|
||||||
|
<xsd:enumeration value="rcs" />
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxVersionNumber">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:pattern value="\d+\.\d+.*" />
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxImageKind">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="html" />
|
||||||
|
<xsd:enumeration value="latex" />
|
||||||
|
<xsd:enumeration value="rtf" />
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxParamListKind">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="param" />
|
||||||
|
<xsd:enumeration value="retval" />
|
||||||
|
<xsd:enumeration value="exception" />
|
||||||
|
<xsd:enumeration value="templateparam" />
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxCharRange">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:pattern value="[aeiouncAEIOUNC]" />
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxParamDir">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="in"/>
|
||||||
|
<xsd:enumeration value="out"/>
|
||||||
|
<xsd:enumeration value="inout"/>
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="DoxAccessor">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="retain"/>
|
||||||
|
<xsd:enumeration value="copy"/>
|
||||||
|
<xsd:enumeration value="assign"/>
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
</xsd:schema>
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
||||||
|
<doxygenindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="index.xsd" version="1.6.3">
|
||||||
|
<compound refid="classAadvark" kind="class"><name>Aadvark</name>
|
||||||
|
<member refid="classAadvark_1ab79eb58d7bb9d5ddfa5d6f783836cab9" kind="variable"><name>aadvarkness</name></member>
|
||||||
|
<member refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kind="function"><name>print</name></member>
|
||||||
|
<member refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" kind="function"><name>Aadvark</name></member>
|
||||||
|
<member refid="classAadvark_1affd2ada0a85807efcbe26615a848f53e" kind="function"><name>get_aadvarkness</name></member>
|
||||||
|
</compound>
|
||||||
|
<compound refid="aadvark_8cc" kind="file"><name>aadvark.cc</name>
|
||||||
|
<member refid="aadvark_8cc_1acb52858524210ec6dddc3e16d1e52946" kind="function"><name>aadvarky_enough</name></member>
|
||||||
|
<member refid="aadvark_8cc_1ae66f6b31b5ad750f1fe042a706a4e3d4" kind="function"><name>main</name></member>
|
||||||
|
</compound>
|
||||||
|
<compound refid="aadvark_8h" kind="file"><name>aadvark.h</name>
|
||||||
|
<member refid="aadvark_8h_1acb52858524210ec6dddc3e16d1e52946" kind="function"><name>aadvarky_enough</name></member>
|
||||||
|
<member refid="aadvark_8h_1ae66f6b31b5ad750f1fe042a706a4e3d4" kind="function"><name>main</name></member>
|
||||||
|
</compound>
|
||||||
|
</doxygenindex>
|
|
@ -0,0 +1,66 @@
|
||||||
|
<?xml version='1.0' encoding='utf-8' ?>
|
||||||
|
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xsd:element name="doxygenindex" type="DoxygenType"/>
|
||||||
|
|
||||||
|
<xsd:complexType name="DoxygenType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="compound" type="CompoundType" minOccurs="0" maxOccurs="unbounded"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="version" type="xsd:string" use="required"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="CompoundType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="name" type="xsd:string"/>
|
||||||
|
<xsd:element name="member" type="MemberType" minOccurs="0" maxOccurs="unbounded"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="refid" type="xsd:string" use="required"/>
|
||||||
|
<xsd:attribute name="kind" type="CompoundKind" use="required"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:complexType name="MemberType">
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="name" type="xsd:string"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="refid" type="xsd:string" use="required"/>
|
||||||
|
<xsd:attribute name="kind" type="MemberKind" use="required"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="CompoundKind">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="class"/>
|
||||||
|
<xsd:enumeration value="struct"/>
|
||||||
|
<xsd:enumeration value="union"/>
|
||||||
|
<xsd:enumeration value="interface"/>
|
||||||
|
<xsd:enumeration value="protocol"/>
|
||||||
|
<xsd:enumeration value="category"/>
|
||||||
|
<xsd:enumeration value="exception"/>
|
||||||
|
<xsd:enumeration value="file"/>
|
||||||
|
<xsd:enumeration value="namespace"/>
|
||||||
|
<xsd:enumeration value="group"/>
|
||||||
|
<xsd:enumeration value="page"/>
|
||||||
|
<xsd:enumeration value="example"/>
|
||||||
|
<xsd:enumeration value="dir"/>
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
<xsd:simpleType name="MemberKind">
|
||||||
|
<xsd:restriction base="xsd:string">
|
||||||
|
<xsd:enumeration value="define"/>
|
||||||
|
<xsd:enumeration value="property"/>
|
||||||
|
<xsd:enumeration value="event"/>
|
||||||
|
<xsd:enumeration value="variable"/>
|
||||||
|
<xsd:enumeration value="typedef"/>
|
||||||
|
<xsd:enumeration value="enum"/>
|
||||||
|
<xsd:enumeration value="enumvalue"/>
|
||||||
|
<xsd:enumeration value="function"/>
|
||||||
|
<xsd:enumeration value="signal"/>
|
||||||
|
<xsd:enumeration value="prototype"/>
|
||||||
|
<xsd:enumeration value="friend"/>
|
||||||
|
<xsd:enumeration value="dcop"/>
|
||||||
|
<xsd:enumeration value="slot"/>
|
||||||
|
</xsd:restriction>
|
||||||
|
</xsd:simpleType>
|
||||||
|
|
||||||
|
</xsd:schema>
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
"""
|
||||||
|
Contains generated files produced by generateDS.py.
|
||||||
|
|
||||||
|
These do the real work of parsing the doxygen xml files but the
|
||||||
|
resultant classes are not very friendly to navigate so the rest of the
|
||||||
|
doxyxml module processes them further.
|
||||||
|
"""
|
|
@ -0,0 +1,503 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
"""
|
||||||
|
Generated Mon Feb 9 19:08:05 2009 by generateDS.py.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from string import lower as str_lower
|
||||||
|
from xml.dom import minidom
|
||||||
|
from xml.dom import Node
|
||||||
|
|
||||||
|
import sys
|
||||||
|
|
||||||
|
import compoundsuper as supermod
|
||||||
|
from compoundsuper import MixedContainer
|
||||||
|
|
||||||
|
|
||||||
|
class DoxygenTypeSub(supermod.DoxygenType):
|
||||||
|
def __init__(self, version=None, compounddef=None):
|
||||||
|
supermod.DoxygenType.__init__(self, version, compounddef)
|
||||||
|
|
||||||
|
def find(self, details):
|
||||||
|
|
||||||
|
return self.compounddef.find(details)
|
||||||
|
|
||||||
|
supermod.DoxygenType.subclass = DoxygenTypeSub
|
||||||
|
# end class DoxygenTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class compounddefTypeSub(supermod.compounddefType):
|
||||||
|
def __init__(self, kind=None, prot=None, id=None, compoundname='', title='', basecompoundref=None, derivedcompoundref=None, includes=None, includedby=None, incdepgraph=None, invincdepgraph=None, innerdir=None, innerfile=None, innerclass=None, innernamespace=None, innerpage=None, innergroup=None, templateparamlist=None, sectiondef=None, briefdescription=None, detaileddescription=None, inheritancegraph=None, collaborationgraph=None, programlisting=None, location=None, listofallmembers=None):
|
||||||
|
supermod.compounddefType.__init__(self, kind, prot, id, compoundname, title, basecompoundref, derivedcompoundref, includes, includedby, incdepgraph, invincdepgraph, innerdir, innerfile, innerclass, innernamespace, innerpage, innergroup, templateparamlist, sectiondef, briefdescription, detaileddescription, inheritancegraph, collaborationgraph, programlisting, location, listofallmembers)
|
||||||
|
|
||||||
|
def find(self, details):
|
||||||
|
|
||||||
|
if self.id == details.refid:
|
||||||
|
return self
|
||||||
|
|
||||||
|
for sectiondef in self.sectiondef:
|
||||||
|
result = sectiondef.find(details)
|
||||||
|
if result:
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
supermod.compounddefType.subclass = compounddefTypeSub
|
||||||
|
# end class compounddefTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class listofallmembersTypeSub(supermod.listofallmembersType):
|
||||||
|
def __init__(self, member=None):
|
||||||
|
supermod.listofallmembersType.__init__(self, member)
|
||||||
|
supermod.listofallmembersType.subclass = listofallmembersTypeSub
|
||||||
|
# end class listofallmembersTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class memberRefTypeSub(supermod.memberRefType):
|
||||||
|
def __init__(self, virt=None, prot=None, refid=None, ambiguityscope=None, scope='', name=''):
|
||||||
|
supermod.memberRefType.__init__(self, virt, prot, refid, ambiguityscope, scope, name)
|
||||||
|
supermod.memberRefType.subclass = memberRefTypeSub
|
||||||
|
# end class memberRefTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class compoundRefTypeSub(supermod.compoundRefType):
|
||||||
|
def __init__(self, virt=None, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
|
||||||
|
supermod.compoundRefType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.compoundRefType.subclass = compoundRefTypeSub
|
||||||
|
# end class compoundRefTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class reimplementTypeSub(supermod.reimplementType):
|
||||||
|
def __init__(self, refid=None, valueOf_='', mixedclass_=None, content_=None):
|
||||||
|
supermod.reimplementType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.reimplementType.subclass = reimplementTypeSub
|
||||||
|
# end class reimplementTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class incTypeSub(supermod.incType):
|
||||||
|
def __init__(self, local=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
|
||||||
|
supermod.incType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.incType.subclass = incTypeSub
|
||||||
|
# end class incTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class refTypeSub(supermod.refType):
|
||||||
|
def __init__(self, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None):
|
||||||
|
supermod.refType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.refType.subclass = refTypeSub
|
||||||
|
# end class refTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class refTextTypeSub(supermod.refTextType):
|
||||||
|
def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None):
|
||||||
|
supermod.refTextType.__init__(self, mixedclass_, content_)
|
||||||
|
|
||||||
|
supermod.refTextType.subclass = refTextTypeSub
|
||||||
|
# end class refTextTypeSub
|
||||||
|
|
||||||
|
class sectiondefTypeSub(supermod.sectiondefType):
|
||||||
|
|
||||||
|
|
||||||
|
def __init__(self, kind=None, header='', description=None, memberdef=None):
|
||||||
|
supermod.sectiondefType.__init__(self, kind, header, description, memberdef)
|
||||||
|
|
||||||
|
def find(self, details):
|
||||||
|
|
||||||
|
for memberdef in self.memberdef:
|
||||||
|
if memberdef.id == details.refid:
|
||||||
|
return memberdef
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
supermod.sectiondefType.subclass = sectiondefTypeSub
|
||||||
|
# end class sectiondefTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class memberdefTypeSub(supermod.memberdefType):
|
||||||
|
def __init__(self, initonly=None, kind=None, volatile=None, const=None, raise_=None, virt=None, readable=None, prot=None, explicit=None, new=None, final=None, writable=None, add=None, static=None, remove=None, sealed=None, mutable=None, gettable=None, inline=None, settable=None, id=None, templateparamlist=None, type_=None, definition='', argsstring='', name='', read='', write='', bitfield='', reimplements=None, reimplementedby=None, param=None, enumvalue=None, initializer=None, exceptions=None, briefdescription=None, detaileddescription=None, inbodydescription=None, location=None, references=None, referencedby=None):
|
||||||
|
supermod.memberdefType.__init__(self, initonly, kind, volatile, const, raise_, virt, readable, prot, explicit, new, final, writable, add, static, remove, sealed, mutable, gettable, inline, settable, id, templateparamlist, type_, definition, argsstring, name, read, write, bitfield, reimplements, reimplementedby, param, enumvalue, initializer, exceptions, briefdescription, detaileddescription, inbodydescription, location, references, referencedby)
|
||||||
|
supermod.memberdefType.subclass = memberdefTypeSub
|
||||||
|
# end class memberdefTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class descriptionTypeSub(supermod.descriptionType):
|
||||||
|
def __init__(self, title='', para=None, sect1=None, internal=None, mixedclass_=None, content_=None):
|
||||||
|
supermod.descriptionType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.descriptionType.subclass = descriptionTypeSub
|
||||||
|
# end class descriptionTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class enumvalueTypeSub(supermod.enumvalueType):
|
||||||
|
def __init__(self, prot=None, id=None, name='', initializer=None, briefdescription=None, detaileddescription=None, mixedclass_=None, content_=None):
|
||||||
|
supermod.enumvalueType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.enumvalueType.subclass = enumvalueTypeSub
|
||||||
|
# end class enumvalueTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class templateparamlistTypeSub(supermod.templateparamlistType):
|
||||||
|
def __init__(self, param=None):
|
||||||
|
supermod.templateparamlistType.__init__(self, param)
|
||||||
|
supermod.templateparamlistType.subclass = templateparamlistTypeSub
|
||||||
|
# end class templateparamlistTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class paramTypeSub(supermod.paramType):
|
||||||
|
def __init__(self, type_=None, declname='', defname='', array='', defval=None, briefdescription=None):
|
||||||
|
supermod.paramType.__init__(self, type_, declname, defname, array, defval, briefdescription)
|
||||||
|
supermod.paramType.subclass = paramTypeSub
|
||||||
|
# end class paramTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class linkedTextTypeSub(supermod.linkedTextType):
|
||||||
|
def __init__(self, ref=None, mixedclass_=None, content_=None):
|
||||||
|
supermod.linkedTextType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.linkedTextType.subclass = linkedTextTypeSub
|
||||||
|
# end class linkedTextTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class graphTypeSub(supermod.graphType):
|
||||||
|
def __init__(self, node=None):
|
||||||
|
supermod.graphType.__init__(self, node)
|
||||||
|
supermod.graphType.subclass = graphTypeSub
|
||||||
|
# end class graphTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class nodeTypeSub(supermod.nodeType):
|
||||||
|
def __init__(self, id=None, label='', link=None, childnode=None):
|
||||||
|
supermod.nodeType.__init__(self, id, label, link, childnode)
|
||||||
|
supermod.nodeType.subclass = nodeTypeSub
|
||||||
|
# end class nodeTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class childnodeTypeSub(supermod.childnodeType):
|
||||||
|
def __init__(self, relation=None, refid=None, edgelabel=None):
|
||||||
|
supermod.childnodeType.__init__(self, relation, refid, edgelabel)
|
||||||
|
supermod.childnodeType.subclass = childnodeTypeSub
|
||||||
|
# end class childnodeTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class linkTypeSub(supermod.linkType):
|
||||||
|
def __init__(self, refid=None, external=None, valueOf_=''):
|
||||||
|
supermod.linkType.__init__(self, refid, external)
|
||||||
|
supermod.linkType.subclass = linkTypeSub
|
||||||
|
# end class linkTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class listingTypeSub(supermod.listingType):
|
||||||
|
def __init__(self, codeline=None):
|
||||||
|
supermod.listingType.__init__(self, codeline)
|
||||||
|
supermod.listingType.subclass = listingTypeSub
|
||||||
|
# end class listingTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class codelineTypeSub(supermod.codelineType):
|
||||||
|
def __init__(self, external=None, lineno=None, refkind=None, refid=None, highlight=None):
|
||||||
|
supermod.codelineType.__init__(self, external, lineno, refkind, refid, highlight)
|
||||||
|
supermod.codelineType.subclass = codelineTypeSub
|
||||||
|
# end class codelineTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class highlightTypeSub(supermod.highlightType):
|
||||||
|
def __init__(self, class_=None, sp=None, ref=None, mixedclass_=None, content_=None):
|
||||||
|
supermod.highlightType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.highlightType.subclass = highlightTypeSub
|
||||||
|
# end class highlightTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class referenceTypeSub(supermod.referenceType):
|
||||||
|
def __init__(self, endline=None, startline=None, refid=None, compoundref=None, valueOf_='', mixedclass_=None, content_=None):
|
||||||
|
supermod.referenceType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.referenceType.subclass = referenceTypeSub
|
||||||
|
# end class referenceTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class locationTypeSub(supermod.locationType):
|
||||||
|
def __init__(self, bodystart=None, line=None, bodyend=None, bodyfile=None, file=None, valueOf_=''):
|
||||||
|
supermod.locationType.__init__(self, bodystart, line, bodyend, bodyfile, file)
|
||||||
|
supermod.locationType.subclass = locationTypeSub
|
||||||
|
# end class locationTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docSect1TypeSub(supermod.docSect1Type):
|
||||||
|
def __init__(self, id=None, title='', para=None, sect2=None, internal=None, mixedclass_=None, content_=None):
|
||||||
|
supermod.docSect1Type.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docSect1Type.subclass = docSect1TypeSub
|
||||||
|
# end class docSect1TypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docSect2TypeSub(supermod.docSect2Type):
|
||||||
|
def __init__(self, id=None, title='', para=None, sect3=None, internal=None, mixedclass_=None, content_=None):
|
||||||
|
supermod.docSect2Type.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docSect2Type.subclass = docSect2TypeSub
|
||||||
|
# end class docSect2TypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docSect3TypeSub(supermod.docSect3Type):
|
||||||
|
def __init__(self, id=None, title='', para=None, sect4=None, internal=None, mixedclass_=None, content_=None):
|
||||||
|
supermod.docSect3Type.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docSect3Type.subclass = docSect3TypeSub
|
||||||
|
# end class docSect3TypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docSect4TypeSub(supermod.docSect4Type):
|
||||||
|
def __init__(self, id=None, title='', para=None, internal=None, mixedclass_=None, content_=None):
|
||||||
|
supermod.docSect4Type.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docSect4Type.subclass = docSect4TypeSub
|
||||||
|
# end class docSect4TypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docInternalTypeSub(supermod.docInternalType):
|
||||||
|
def __init__(self, para=None, sect1=None, mixedclass_=None, content_=None):
|
||||||
|
supermod.docInternalType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docInternalType.subclass = docInternalTypeSub
|
||||||
|
# end class docInternalTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docInternalS1TypeSub(supermod.docInternalS1Type):
|
||||||
|
def __init__(self, para=None, sect2=None, mixedclass_=None, content_=None):
|
||||||
|
supermod.docInternalS1Type.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docInternalS1Type.subclass = docInternalS1TypeSub
|
||||||
|
# end class docInternalS1TypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docInternalS2TypeSub(supermod.docInternalS2Type):
|
||||||
|
def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None):
|
||||||
|
supermod.docInternalS2Type.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docInternalS2Type.subclass = docInternalS2TypeSub
|
||||||
|
# end class docInternalS2TypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docInternalS3TypeSub(supermod.docInternalS3Type):
|
||||||
|
def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None):
|
||||||
|
supermod.docInternalS3Type.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docInternalS3Type.subclass = docInternalS3TypeSub
|
||||||
|
# end class docInternalS3TypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docInternalS4TypeSub(supermod.docInternalS4Type):
|
||||||
|
def __init__(self, para=None, mixedclass_=None, content_=None):
|
||||||
|
supermod.docInternalS4Type.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docInternalS4Type.subclass = docInternalS4TypeSub
|
||||||
|
# end class docInternalS4TypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docURLLinkSub(supermod.docURLLink):
|
||||||
|
def __init__(self, url=None, valueOf_='', mixedclass_=None, content_=None):
|
||||||
|
supermod.docURLLink.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docURLLink.subclass = docURLLinkSub
|
||||||
|
# end class docURLLinkSub
|
||||||
|
|
||||||
|
|
||||||
|
class docAnchorTypeSub(supermod.docAnchorType):
|
||||||
|
def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
|
||||||
|
supermod.docAnchorType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docAnchorType.subclass = docAnchorTypeSub
|
||||||
|
# end class docAnchorTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docFormulaTypeSub(supermod.docFormulaType):
|
||||||
|
def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
|
||||||
|
supermod.docFormulaType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docFormulaType.subclass = docFormulaTypeSub
|
||||||
|
# end class docFormulaTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docIndexEntryTypeSub(supermod.docIndexEntryType):
|
||||||
|
def __init__(self, primaryie='', secondaryie=''):
|
||||||
|
supermod.docIndexEntryType.__init__(self, primaryie, secondaryie)
|
||||||
|
supermod.docIndexEntryType.subclass = docIndexEntryTypeSub
|
||||||
|
# end class docIndexEntryTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docListTypeSub(supermod.docListType):
|
||||||
|
def __init__(self, listitem=None):
|
||||||
|
supermod.docListType.__init__(self, listitem)
|
||||||
|
supermod.docListType.subclass = docListTypeSub
|
||||||
|
# end class docListTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docListItemTypeSub(supermod.docListItemType):
|
||||||
|
def __init__(self, para=None):
|
||||||
|
supermod.docListItemType.__init__(self, para)
|
||||||
|
supermod.docListItemType.subclass = docListItemTypeSub
|
||||||
|
# end class docListItemTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docSimpleSectTypeSub(supermod.docSimpleSectType):
|
||||||
|
def __init__(self, kind=None, title=None, para=None):
|
||||||
|
supermod.docSimpleSectType.__init__(self, kind, title, para)
|
||||||
|
supermod.docSimpleSectType.subclass = docSimpleSectTypeSub
|
||||||
|
# end class docSimpleSectTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docVarListEntryTypeSub(supermod.docVarListEntryType):
|
||||||
|
def __init__(self, term=None):
|
||||||
|
supermod.docVarListEntryType.__init__(self, term)
|
||||||
|
supermod.docVarListEntryType.subclass = docVarListEntryTypeSub
|
||||||
|
# end class docVarListEntryTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docRefTextTypeSub(supermod.docRefTextType):
|
||||||
|
def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None):
|
||||||
|
supermod.docRefTextType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docRefTextType.subclass = docRefTextTypeSub
|
||||||
|
# end class docRefTextTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docTableTypeSub(supermod.docTableType):
|
||||||
|
def __init__(self, rows=None, cols=None, row=None, caption=None):
|
||||||
|
supermod.docTableType.__init__(self, rows, cols, row, caption)
|
||||||
|
supermod.docTableType.subclass = docTableTypeSub
|
||||||
|
# end class docTableTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docRowTypeSub(supermod.docRowType):
|
||||||
|
def __init__(self, entry=None):
|
||||||
|
supermod.docRowType.__init__(self, entry)
|
||||||
|
supermod.docRowType.subclass = docRowTypeSub
|
||||||
|
# end class docRowTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docEntryTypeSub(supermod.docEntryType):
|
||||||
|
def __init__(self, thead=None, para=None):
|
||||||
|
supermod.docEntryType.__init__(self, thead, para)
|
||||||
|
supermod.docEntryType.subclass = docEntryTypeSub
|
||||||
|
# end class docEntryTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docHeadingTypeSub(supermod.docHeadingType):
|
||||||
|
def __init__(self, level=None, valueOf_='', mixedclass_=None, content_=None):
|
||||||
|
supermod.docHeadingType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docHeadingType.subclass = docHeadingTypeSub
|
||||||
|
# end class docHeadingTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docImageTypeSub(supermod.docImageType):
|
||||||
|
def __init__(self, width=None, type_=None, name=None, height=None, valueOf_='', mixedclass_=None, content_=None):
|
||||||
|
supermod.docImageType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docImageType.subclass = docImageTypeSub
|
||||||
|
# end class docImageTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docDotFileTypeSub(supermod.docDotFileType):
|
||||||
|
def __init__(self, name=None, valueOf_='', mixedclass_=None, content_=None):
|
||||||
|
supermod.docDotFileType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docDotFileType.subclass = docDotFileTypeSub
|
||||||
|
# end class docDotFileTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docTocItemTypeSub(supermod.docTocItemType):
|
||||||
|
def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None):
|
||||||
|
supermod.docTocItemType.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docTocItemType.subclass = docTocItemTypeSub
|
||||||
|
# end class docTocItemTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docTocListTypeSub(supermod.docTocListType):
|
||||||
|
def __init__(self, tocitem=None):
|
||||||
|
supermod.docTocListType.__init__(self, tocitem)
|
||||||
|
supermod.docTocListType.subclass = docTocListTypeSub
|
||||||
|
# end class docTocListTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docLanguageTypeSub(supermod.docLanguageType):
|
||||||
|
def __init__(self, langid=None, para=None):
|
||||||
|
supermod.docLanguageType.__init__(self, langid, para)
|
||||||
|
supermod.docLanguageType.subclass = docLanguageTypeSub
|
||||||
|
# end class docLanguageTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docParamListTypeSub(supermod.docParamListType):
|
||||||
|
def __init__(self, kind=None, parameteritem=None):
|
||||||
|
supermod.docParamListType.__init__(self, kind, parameteritem)
|
||||||
|
supermod.docParamListType.subclass = docParamListTypeSub
|
||||||
|
# end class docParamListTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docParamListItemSub(supermod.docParamListItem):
|
||||||
|
def __init__(self, parameternamelist=None, parameterdescription=None):
|
||||||
|
supermod.docParamListItem.__init__(self, parameternamelist, parameterdescription)
|
||||||
|
supermod.docParamListItem.subclass = docParamListItemSub
|
||||||
|
# end class docParamListItemSub
|
||||||
|
|
||||||
|
|
||||||
|
class docParamNameListSub(supermod.docParamNameList):
|
||||||
|
def __init__(self, parametername=None):
|
||||||
|
supermod.docParamNameList.__init__(self, parametername)
|
||||||
|
supermod.docParamNameList.subclass = docParamNameListSub
|
||||||
|
# end class docParamNameListSub
|
||||||
|
|
||||||
|
|
||||||
|
class docParamNameSub(supermod.docParamName):
|
||||||
|
def __init__(self, direction=None, ref=None, mixedclass_=None, content_=None):
|
||||||
|
supermod.docParamName.__init__(self, mixedclass_, content_)
|
||||||
|
supermod.docParamName.subclass = docParamNameSub
|
||||||
|
# end class docParamNameSub
|
||||||
|
|
||||||
|
|
||||||
|
class docXRefSectTypeSub(supermod.docXRefSectType):
|
||||||
|
def __init__(self, id=None, xreftitle=None, xrefdescription=None):
|
||||||
|
supermod.docXRefSectType.__init__(self, id, xreftitle, xrefdescription)
|
||||||
|
supermod.docXRefSectType.subclass = docXRefSectTypeSub
|
||||||
|
# end class docXRefSectTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docCopyTypeSub(supermod.docCopyType):
|
||||||
|
def __init__(self, link=None, para=None, sect1=None, internal=None):
|
||||||
|
supermod.docCopyType.__init__(self, link, para, sect1, internal)
|
||||||
|
supermod.docCopyType.subclass = docCopyTypeSub
|
||||||
|
# end class docCopyTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class docCharTypeSub(supermod.docCharType):
|
||||||
|
def __init__(self, char=None, valueOf_=''):
|
||||||
|
supermod.docCharType.__init__(self, char)
|
||||||
|
supermod.docCharType.subclass = docCharTypeSub
|
||||||
|
# end class docCharTypeSub
|
||||||
|
|
||||||
|
class docParaTypeSub(supermod.docParaType):
|
||||||
|
def __init__(self, char=None, valueOf_=''):
|
||||||
|
supermod.docParaType.__init__(self, char)
|
||||||
|
|
||||||
|
self.parameterlist = []
|
||||||
|
self.simplesects = []
|
||||||
|
self.content = []
|
||||||
|
|
||||||
|
def buildChildren(self, child_, nodeName_):
|
||||||
|
supermod.docParaType.buildChildren(self, child_, nodeName_)
|
||||||
|
|
||||||
|
if child_.nodeType == Node.TEXT_NODE:
|
||||||
|
obj_ = self.mixedclass_(MixedContainer.CategoryText,
|
||||||
|
MixedContainer.TypeNone, '', child_.nodeValue)
|
||||||
|
self.content.append(obj_)
|
||||||
|
elif child_.nodeType == Node.ELEMENT_NODE and \
|
||||||
|
nodeName_ == "ref":
|
||||||
|
obj_ = supermod.docRefTextType.factory()
|
||||||
|
obj_.build(child_)
|
||||||
|
self.content.append(obj_)
|
||||||
|
elif child_.nodeType == Node.ELEMENT_NODE and \
|
||||||
|
nodeName_ == 'parameterlist':
|
||||||
|
obj_ = supermod.docParamListType.factory()
|
||||||
|
obj_.build(child_)
|
||||||
|
self.parameterlist.append(obj_)
|
||||||
|
elif child_.nodeType == Node.ELEMENT_NODE and \
|
||||||
|
nodeName_ == 'simplesect':
|
||||||
|
obj_ = supermod.docSimpleSectType.factory()
|
||||||
|
obj_.build(child_)
|
||||||
|
self.simplesects.append(obj_)
|
||||||
|
|
||||||
|
|
||||||
|
supermod.docParaType.subclass = docParaTypeSub
|
||||||
|
# end class docParaTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def parse(inFilename):
|
||||||
|
doc = minidom.parse(inFilename)
|
||||||
|
rootNode = doc.documentElement
|
||||||
|
rootObj = supermod.DoxygenType.factory()
|
||||||
|
rootObj.build(rootNode)
|
||||||
|
return rootObj
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,77 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
"""
|
||||||
|
Generated Mon Feb 9 19:08:05 2009 by generateDS.py.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from xml.dom import minidom
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import compound
|
||||||
|
|
||||||
|
import indexsuper as supermod
|
||||||
|
|
||||||
|
class DoxygenTypeSub(supermod.DoxygenType):
|
||||||
|
def __init__(self, version=None, compound=None):
|
||||||
|
supermod.DoxygenType.__init__(self, version, compound)
|
||||||
|
|
||||||
|
def find_compounds_and_members(self, details):
|
||||||
|
"""
|
||||||
|
Returns a list of all compounds and their members which match details
|
||||||
|
"""
|
||||||
|
|
||||||
|
results = []
|
||||||
|
for compound in self.compound:
|
||||||
|
members = compound.find_members(details)
|
||||||
|
if members:
|
||||||
|
results.append([compound, members])
|
||||||
|
else:
|
||||||
|
if details.match(compound):
|
||||||
|
results.append([compound, []])
|
||||||
|
|
||||||
|
return results
|
||||||
|
|
||||||
|
supermod.DoxygenType.subclass = DoxygenTypeSub
|
||||||
|
# end class DoxygenTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class CompoundTypeSub(supermod.CompoundType):
|
||||||
|
def __init__(self, kind=None, refid=None, name='', member=None):
|
||||||
|
supermod.CompoundType.__init__(self, kind, refid, name, member)
|
||||||
|
|
||||||
|
def find_members(self, details):
|
||||||
|
"""
|
||||||
|
Returns a list of all members which match details
|
||||||
|
"""
|
||||||
|
|
||||||
|
results = []
|
||||||
|
|
||||||
|
for member in self.member:
|
||||||
|
if details.match(member):
|
||||||
|
results.append(member)
|
||||||
|
|
||||||
|
return results
|
||||||
|
|
||||||
|
supermod.CompoundType.subclass = CompoundTypeSub
|
||||||
|
# end class CompoundTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
class MemberTypeSub(supermod.MemberType):
|
||||||
|
|
||||||
|
def __init__(self, kind=None, refid=None, name=''):
|
||||||
|
supermod.MemberType.__init__(self, kind, refid, name)
|
||||||
|
|
||||||
|
supermod.MemberType.subclass = MemberTypeSub
|
||||||
|
# end class MemberTypeSub
|
||||||
|
|
||||||
|
|
||||||
|
def parse(inFilename):
|
||||||
|
|
||||||
|
doc = minidom.parse(inFilename)
|
||||||
|
rootNode = doc.documentElement
|
||||||
|
rootObj = supermod.DoxygenType.factory()
|
||||||
|
rootObj.build(rootNode)
|
||||||
|
|
||||||
|
return rootObj
|
||||||
|
|
|
@ -0,0 +1,523 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generated Thu Jun 11 18:43:54 2009 by generateDS.py.
|
||||||
|
#
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import getopt
|
||||||
|
from string import lower as str_lower
|
||||||
|
from xml.dom import minidom
|
||||||
|
from xml.dom import Node
|
||||||
|
|
||||||
|
#
|
||||||
|
# User methods
|
||||||
|
#
|
||||||
|
# Calls to the methods in these classes are generated by generateDS.py.
|
||||||
|
# You can replace these methods by re-implementing the following class
|
||||||
|
# in a module named generatedssuper.py.
|
||||||
|
|
||||||
|
try:
|
||||||
|
from generatedssuper import GeneratedsSuper
|
||||||
|
except ImportError, exp:
|
||||||
|
|
||||||
|
class GeneratedsSuper:
|
||||||
|
def format_string(self, input_data, input_name=''):
|
||||||
|
return input_data
|
||||||
|
def format_integer(self, input_data, input_name=''):
|
||||||
|
return '%d' % input_data
|
||||||
|
def format_float(self, input_data, input_name=''):
|
||||||
|
return '%f' % input_data
|
||||||
|
def format_double(self, input_data, input_name=''):
|
||||||
|
return '%e' % input_data
|
||||||
|
def format_boolean(self, input_data, input_name=''):
|
||||||
|
return '%s' % input_data
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# If you have installed IPython you can uncomment and use the following.
|
||||||
|
# IPython is available from http://ipython.scipy.org/.
|
||||||
|
#
|
||||||
|
|
||||||
|
## from IPython.Shell import IPShellEmbed
|
||||||
|
## args = ''
|
||||||
|
## ipshell = IPShellEmbed(args,
|
||||||
|
## banner = 'Dropping into IPython',
|
||||||
|
## exit_msg = 'Leaving Interpreter, back to program.')
|
||||||
|
|
||||||
|
# Then use the following line where and when you want to drop into the
|
||||||
|
# IPython shell:
|
||||||
|
# ipshell('<some message> -- Entering ipshell.\nHit Ctrl-D to exit')
|
||||||
|
|
||||||
|
#
|
||||||
|
# Globals
|
||||||
|
#
|
||||||
|
|
||||||
|
ExternalEncoding = 'ascii'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Support/utility functions.
|
||||||
|
#
|
||||||
|
|
||||||
|
def showIndent(outfile, level):
|
||||||
|
for idx in range(level):
|
||||||
|
outfile.write(' ')
|
||||||
|
|
||||||
|
def quote_xml(inStr):
|
||||||
|
s1 = (isinstance(inStr, basestring) and inStr or
|
||||||
|
'%s' % inStr)
|
||||||
|
s1 = s1.replace('&', '&')
|
||||||
|
s1 = s1.replace('<', '<')
|
||||||
|
s1 = s1.replace('>', '>')
|
||||||
|
return s1
|
||||||
|
|
||||||
|
def quote_attrib(inStr):
|
||||||
|
s1 = (isinstance(inStr, basestring) and inStr or
|
||||||
|
'%s' % inStr)
|
||||||
|
s1 = s1.replace('&', '&')
|
||||||
|
s1 = s1.replace('<', '<')
|
||||||
|
s1 = s1.replace('>', '>')
|
||||||
|
if '"' in s1:
|
||||||
|
if "'" in s1:
|
||||||
|
s1 = '"%s"' % s1.replace('"', """)
|
||||||
|
else:
|
||||||
|
s1 = "'%s'" % s1
|
||||||
|
else:
|
||||||
|
s1 = '"%s"' % s1
|
||||||
|
return s1
|
||||||
|
|
||||||
|
def quote_python(inStr):
|
||||||
|
s1 = inStr
|
||||||
|
if s1.find("'") == -1:
|
||||||
|
if s1.find('\n') == -1:
|
||||||
|
return "'%s'" % s1
|
||||||
|
else:
|
||||||
|
return "'''%s'''" % s1
|
||||||
|
else:
|
||||||
|
if s1.find('"') != -1:
|
||||||
|
s1 = s1.replace('"', '\\"')
|
||||||
|
if s1.find('\n') == -1:
|
||||||
|
return '"%s"' % s1
|
||||||
|
else:
|
||||||
|
return '"""%s"""' % s1
|
||||||
|
|
||||||
|
|
||||||
|
class MixedContainer:
|
||||||
|
# Constants for category:
|
||||||
|
CategoryNone = 0
|
||||||
|
CategoryText = 1
|
||||||
|
CategorySimple = 2
|
||||||
|
CategoryComplex = 3
|
||||||
|
# Constants for content_type:
|
||||||
|
TypeNone = 0
|
||||||
|
TypeText = 1
|
||||||
|
TypeString = 2
|
||||||
|
TypeInteger = 3
|
||||||
|
TypeFloat = 4
|
||||||
|
TypeDecimal = 5
|
||||||
|
TypeDouble = 6
|
||||||
|
TypeBoolean = 7
|
||||||
|
def __init__(self, category, content_type, name, value):
|
||||||
|
self.category = category
|
||||||
|
self.content_type = content_type
|
||||||
|
self.name = name
|
||||||
|
self.value = value
|
||||||
|
def getCategory(self):
|
||||||
|
return self.category
|
||||||
|
def getContenttype(self, content_type):
|
||||||
|
return self.content_type
|
||||||
|
def getValue(self):
|
||||||
|
return self.value
|
||||||
|
def getName(self):
|
||||||
|
return self.name
|
||||||
|
def export(self, outfile, level, name, namespace):
|
||||||
|
if self.category == MixedContainer.CategoryText:
|
||||||
|
outfile.write(self.value)
|
||||||
|
elif self.category == MixedContainer.CategorySimple:
|
||||||
|
self.exportSimple(outfile, level, name)
|
||||||
|
else: # category == MixedContainer.CategoryComplex
|
||||||
|
self.value.export(outfile, level, namespace,name)
|
||||||
|
def exportSimple(self, outfile, level, name):
|
||||||
|
if self.content_type == MixedContainer.TypeString:
|
||||||
|
outfile.write('<%s>%s</%s>' % (self.name, self.value, self.name))
|
||||||
|
elif self.content_type == MixedContainer.TypeInteger or \
|
||||||
|
self.content_type == MixedContainer.TypeBoolean:
|
||||||
|
outfile.write('<%s>%d</%s>' % (self.name, self.value, self.name))
|
||||||
|
elif self.content_type == MixedContainer.TypeFloat or \
|
||||||
|
self.content_type == MixedContainer.TypeDecimal:
|
||||||
|
outfile.write('<%s>%f</%s>' % (self.name, self.value, self.name))
|
||||||
|
elif self.content_type == MixedContainer.TypeDouble:
|
||||||
|
outfile.write('<%s>%g</%s>' % (self.name, self.value, self.name))
|
||||||
|
def exportLiteral(self, outfile, level, name):
|
||||||
|
if self.category == MixedContainer.CategoryText:
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \
|
||||||
|
(self.category, self.content_type, self.name, self.value))
|
||||||
|
elif self.category == MixedContainer.CategorySimple:
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \
|
||||||
|
(self.category, self.content_type, self.name, self.value))
|
||||||
|
else: # category == MixedContainer.CategoryComplex
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('MixedContainer(%d, %d, "%s",\n' % \
|
||||||
|
(self.category, self.content_type, self.name,))
|
||||||
|
self.value.exportLiteral(outfile, level + 1)
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write(')\n')
|
||||||
|
|
||||||
|
|
||||||
|
class _MemberSpec(object):
|
||||||
|
def __init__(self, name='', data_type='', container=0):
|
||||||
|
self.name = name
|
||||||
|
self.data_type = data_type
|
||||||
|
self.container = container
|
||||||
|
def set_name(self, name): self.name = name
|
||||||
|
def get_name(self): return self.name
|
||||||
|
def set_data_type(self, data_type): self.data_type = data_type
|
||||||
|
def get_data_type(self): return self.data_type
|
||||||
|
def set_container(self, container): self.container = container
|
||||||
|
def get_container(self): return self.container
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Data representation classes.
|
||||||
|
#
|
||||||
|
|
||||||
|
class DoxygenType(GeneratedsSuper):
|
||||||
|
subclass = None
|
||||||
|
superclass = None
|
||||||
|
def __init__(self, version=None, compound=None):
|
||||||
|
self.version = version
|
||||||
|
if compound is None:
|
||||||
|
self.compound = []
|
||||||
|
else:
|
||||||
|
self.compound = compound
|
||||||
|
def factory(*args_, **kwargs_):
|
||||||
|
if DoxygenType.subclass:
|
||||||
|
return DoxygenType.subclass(*args_, **kwargs_)
|
||||||
|
else:
|
||||||
|
return DoxygenType(*args_, **kwargs_)
|
||||||
|
factory = staticmethod(factory)
|
||||||
|
def get_compound(self): return self.compound
|
||||||
|
def set_compound(self, compound): self.compound = compound
|
||||||
|
def add_compound(self, value): self.compound.append(value)
|
||||||
|
def insert_compound(self, index, value): self.compound[index] = value
|
||||||
|
def get_version(self): return self.version
|
||||||
|
def set_version(self, version): self.version = version
|
||||||
|
def export(self, outfile, level, namespace_='', name_='DoxygenType', namespacedef_=''):
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
|
||||||
|
self.exportAttributes(outfile, level, namespace_, name_='DoxygenType')
|
||||||
|
if self.hasContent_():
|
||||||
|
outfile.write('>\n')
|
||||||
|
self.exportChildren(outfile, level + 1, namespace_, name_)
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('</%s%s>\n' % (namespace_, name_))
|
||||||
|
else:
|
||||||
|
outfile.write(' />\n')
|
||||||
|
def exportAttributes(self, outfile, level, namespace_='', name_='DoxygenType'):
|
||||||
|
outfile.write(' version=%s' % (self.format_string(quote_attrib(self.version).encode(ExternalEncoding), input_name='version'), ))
|
||||||
|
def exportChildren(self, outfile, level, namespace_='', name_='DoxygenType'):
|
||||||
|
for compound_ in self.compound:
|
||||||
|
compound_.export(outfile, level, namespace_, name_='compound')
|
||||||
|
def hasContent_(self):
|
||||||
|
if (
|
||||||
|
self.compound is not None
|
||||||
|
):
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
def exportLiteral(self, outfile, level, name_='DoxygenType'):
|
||||||
|
level += 1
|
||||||
|
self.exportLiteralAttributes(outfile, level, name_)
|
||||||
|
if self.hasContent_():
|
||||||
|
self.exportLiteralChildren(outfile, level, name_)
|
||||||
|
def exportLiteralAttributes(self, outfile, level, name_):
|
||||||
|
if self.version is not None:
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('version = %s,\n' % (self.version,))
|
||||||
|
def exportLiteralChildren(self, outfile, level, name_):
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('compound=[\n')
|
||||||
|
level += 1
|
||||||
|
for compound in self.compound:
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('model_.compound(\n')
|
||||||
|
compound.exportLiteral(outfile, level, name_='compound')
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('),\n')
|
||||||
|
level -= 1
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('],\n')
|
||||||
|
def build(self, node_):
|
||||||
|
attrs = node_.attributes
|
||||||
|
self.buildAttributes(attrs)
|
||||||
|
for child_ in node_.childNodes:
|
||||||
|
nodeName_ = child_.nodeName.split(':')[-1]
|
||||||
|
self.buildChildren(child_, nodeName_)
|
||||||
|
def buildAttributes(self, attrs):
|
||||||
|
if attrs.get('version'):
|
||||||
|
self.version = attrs.get('version').value
|
||||||
|
def buildChildren(self, child_, nodeName_):
|
||||||
|
if child_.nodeType == Node.ELEMENT_NODE and \
|
||||||
|
nodeName_ == 'compound':
|
||||||
|
obj_ = CompoundType.factory()
|
||||||
|
obj_.build(child_)
|
||||||
|
self.compound.append(obj_)
|
||||||
|
# end class DoxygenType
|
||||||
|
|
||||||
|
|
||||||
|
class CompoundType(GeneratedsSuper):
|
||||||
|
subclass = None
|
||||||
|
superclass = None
|
||||||
|
def __init__(self, kind=None, refid=None, name=None, member=None):
|
||||||
|
self.kind = kind
|
||||||
|
self.refid = refid
|
||||||
|
self.name = name
|
||||||
|
if member is None:
|
||||||
|
self.member = []
|
||||||
|
else:
|
||||||
|
self.member = member
|
||||||
|
def factory(*args_, **kwargs_):
|
||||||
|
if CompoundType.subclass:
|
||||||
|
return CompoundType.subclass(*args_, **kwargs_)
|
||||||
|
else:
|
||||||
|
return CompoundType(*args_, **kwargs_)
|
||||||
|
factory = staticmethod(factory)
|
||||||
|
def get_name(self): return self.name
|
||||||
|
def set_name(self, name): self.name = name
|
||||||
|
def get_member(self): return self.member
|
||||||
|
def set_member(self, member): self.member = member
|
||||||
|
def add_member(self, value): self.member.append(value)
|
||||||
|
def insert_member(self, index, value): self.member[index] = value
|
||||||
|
def get_kind(self): return self.kind
|
||||||
|
def set_kind(self, kind): self.kind = kind
|
||||||
|
def get_refid(self): return self.refid
|
||||||
|
def set_refid(self, refid): self.refid = refid
|
||||||
|
def export(self, outfile, level, namespace_='', name_='CompoundType', namespacedef_=''):
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
|
||||||
|
self.exportAttributes(outfile, level, namespace_, name_='CompoundType')
|
||||||
|
if self.hasContent_():
|
||||||
|
outfile.write('>\n')
|
||||||
|
self.exportChildren(outfile, level + 1, namespace_, name_)
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('</%s%s>\n' % (namespace_, name_))
|
||||||
|
else:
|
||||||
|
outfile.write(' />\n')
|
||||||
|
def exportAttributes(self, outfile, level, namespace_='', name_='CompoundType'):
|
||||||
|
outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
|
||||||
|
outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
|
||||||
|
def exportChildren(self, outfile, level, namespace_='', name_='CompoundType'):
|
||||||
|
if self.name is not None:
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_))
|
||||||
|
for member_ in self.member:
|
||||||
|
member_.export(outfile, level, namespace_, name_='member')
|
||||||
|
def hasContent_(self):
|
||||||
|
if (
|
||||||
|
self.name is not None or
|
||||||
|
self.member is not None
|
||||||
|
):
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
def exportLiteral(self, outfile, level, name_='CompoundType'):
|
||||||
|
level += 1
|
||||||
|
self.exportLiteralAttributes(outfile, level, name_)
|
||||||
|
if self.hasContent_():
|
||||||
|
self.exportLiteralChildren(outfile, level, name_)
|
||||||
|
def exportLiteralAttributes(self, outfile, level, name_):
|
||||||
|
if self.kind is not None:
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('kind = "%s",\n' % (self.kind,))
|
||||||
|
if self.refid is not None:
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('refid = %s,\n' % (self.refid,))
|
||||||
|
def exportLiteralChildren(self, outfile, level, name_):
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding))
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('member=[\n')
|
||||||
|
level += 1
|
||||||
|
for member in self.member:
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('model_.member(\n')
|
||||||
|
member.exportLiteral(outfile, level, name_='member')
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('),\n')
|
||||||
|
level -= 1
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('],\n')
|
||||||
|
def build(self, node_):
|
||||||
|
attrs = node_.attributes
|
||||||
|
self.buildAttributes(attrs)
|
||||||
|
for child_ in node_.childNodes:
|
||||||
|
nodeName_ = child_.nodeName.split(':')[-1]
|
||||||
|
self.buildChildren(child_, nodeName_)
|
||||||
|
def buildAttributes(self, attrs):
|
||||||
|
if attrs.get('kind'):
|
||||||
|
self.kind = attrs.get('kind').value
|
||||||
|
if attrs.get('refid'):
|
||||||
|
self.refid = attrs.get('refid').value
|
||||||
|
def buildChildren(self, child_, nodeName_):
|
||||||
|
if child_.nodeType == Node.ELEMENT_NODE and \
|
||||||
|
nodeName_ == 'name':
|
||||||
|
name_ = ''
|
||||||
|
for text__content_ in child_.childNodes:
|
||||||
|
name_ += text__content_.nodeValue
|
||||||
|
self.name = name_
|
||||||
|
elif child_.nodeType == Node.ELEMENT_NODE and \
|
||||||
|
nodeName_ == 'member':
|
||||||
|
obj_ = MemberType.factory()
|
||||||
|
obj_.build(child_)
|
||||||
|
self.member.append(obj_)
|
||||||
|
# end class CompoundType
|
||||||
|
|
||||||
|
|
||||||
|
class MemberType(GeneratedsSuper):
|
||||||
|
subclass = None
|
||||||
|
superclass = None
|
||||||
|
def __init__(self, kind=None, refid=None, name=None):
|
||||||
|
self.kind = kind
|
||||||
|
self.refid = refid
|
||||||
|
self.name = name
|
||||||
|
def factory(*args_, **kwargs_):
|
||||||
|
if MemberType.subclass:
|
||||||
|
return MemberType.subclass(*args_, **kwargs_)
|
||||||
|
else:
|
||||||
|
return MemberType(*args_, **kwargs_)
|
||||||
|
factory = staticmethod(factory)
|
||||||
|
def get_name(self): return self.name
|
||||||
|
def set_name(self, name): self.name = name
|
||||||
|
def get_kind(self): return self.kind
|
||||||
|
def set_kind(self, kind): self.kind = kind
|
||||||
|
def get_refid(self): return self.refid
|
||||||
|
def set_refid(self, refid): self.refid = refid
|
||||||
|
def export(self, outfile, level, namespace_='', name_='MemberType', namespacedef_=''):
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, ))
|
||||||
|
self.exportAttributes(outfile, level, namespace_, name_='MemberType')
|
||||||
|
if self.hasContent_():
|
||||||
|
outfile.write('>\n')
|
||||||
|
self.exportChildren(outfile, level + 1, namespace_, name_)
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('</%s%s>\n' % (namespace_, name_))
|
||||||
|
else:
|
||||||
|
outfile.write(' />\n')
|
||||||
|
def exportAttributes(self, outfile, level, namespace_='', name_='MemberType'):
|
||||||
|
outfile.write(' kind=%s' % (quote_attrib(self.kind), ))
|
||||||
|
outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), ))
|
||||||
|
def exportChildren(self, outfile, level, namespace_='', name_='MemberType'):
|
||||||
|
if self.name is not None:
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_))
|
||||||
|
def hasContent_(self):
|
||||||
|
if (
|
||||||
|
self.name is not None
|
||||||
|
):
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
def exportLiteral(self, outfile, level, name_='MemberType'):
|
||||||
|
level += 1
|
||||||
|
self.exportLiteralAttributes(outfile, level, name_)
|
||||||
|
if self.hasContent_():
|
||||||
|
self.exportLiteralChildren(outfile, level, name_)
|
||||||
|
def exportLiteralAttributes(self, outfile, level, name_):
|
||||||
|
if self.kind is not None:
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('kind = "%s",\n' % (self.kind,))
|
||||||
|
if self.refid is not None:
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('refid = %s,\n' % (self.refid,))
|
||||||
|
def exportLiteralChildren(self, outfile, level, name_):
|
||||||
|
showIndent(outfile, level)
|
||||||
|
outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding))
|
||||||
|
def build(self, node_):
|
||||||
|
attrs = node_.attributes
|
||||||
|
self.buildAttributes(attrs)
|
||||||
|
for child_ in node_.childNodes:
|
||||||
|
nodeName_ = child_.nodeName.split(':')[-1]
|
||||||
|
self.buildChildren(child_, nodeName_)
|
||||||
|
def buildAttributes(self, attrs):
|
||||||
|
if attrs.get('kind'):
|
||||||
|
self.kind = attrs.get('kind').value
|
||||||
|
if attrs.get('refid'):
|
||||||
|
self.refid = attrs.get('refid').value
|
||||||
|
def buildChildren(self, child_, nodeName_):
|
||||||
|
if child_.nodeType == Node.ELEMENT_NODE and \
|
||||||
|
nodeName_ == 'name':
|
||||||
|
name_ = ''
|
||||||
|
for text__content_ in child_.childNodes:
|
||||||
|
name_ += text__content_.nodeValue
|
||||||
|
self.name = name_
|
||||||
|
# end class MemberType
|
||||||
|
|
||||||
|
|
||||||
|
USAGE_TEXT = """
|
||||||
|
Usage: python <Parser>.py [ -s ] <in_xml_file>
|
||||||
|
Options:
|
||||||
|
-s Use the SAX parser, not the minidom parser.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def usage():
|
||||||
|
print USAGE_TEXT
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
def parse(inFileName):
|
||||||
|
doc = minidom.parse(inFileName)
|
||||||
|
rootNode = doc.documentElement
|
||||||
|
rootObj = DoxygenType.factory()
|
||||||
|
rootObj.build(rootNode)
|
||||||
|
# Enable Python to collect the space used by the DOM.
|
||||||
|
doc = None
|
||||||
|
sys.stdout.write('<?xml version="1.0" ?>\n')
|
||||||
|
rootObj.export(sys.stdout, 0, name_="doxygenindex",
|
||||||
|
namespacedef_='')
|
||||||
|
return rootObj
|
||||||
|
|
||||||
|
|
||||||
|
def parseString(inString):
|
||||||
|
doc = minidom.parseString(inString)
|
||||||
|
rootNode = doc.documentElement
|
||||||
|
rootObj = DoxygenType.factory()
|
||||||
|
rootObj.build(rootNode)
|
||||||
|
# Enable Python to collect the space used by the DOM.
|
||||||
|
doc = None
|
||||||
|
sys.stdout.write('<?xml version="1.0" ?>\n')
|
||||||
|
rootObj.export(sys.stdout, 0, name_="doxygenindex",
|
||||||
|
namespacedef_='')
|
||||||
|
return rootObj
|
||||||
|
|
||||||
|
|
||||||
|
def parseLiteral(inFileName):
|
||||||
|
doc = minidom.parse(inFileName)
|
||||||
|
rootNode = doc.documentElement
|
||||||
|
rootObj = DoxygenType.factory()
|
||||||
|
rootObj.build(rootNode)
|
||||||
|
# Enable Python to collect the space used by the DOM.
|
||||||
|
doc = None
|
||||||
|
sys.stdout.write('from index import *\n\n')
|
||||||
|
sys.stdout.write('rootObj = doxygenindex(\n')
|
||||||
|
rootObj.exportLiteral(sys.stdout, 0, name_="doxygenindex")
|
||||||
|
sys.stdout.write(')\n')
|
||||||
|
return rootObj
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
args = sys.argv[1:]
|
||||||
|
if len(args) == 1:
|
||||||
|
parse(args[0])
|
||||||
|
else:
|
||||||
|
usage()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
#import pdb
|
||||||
|
#pdb.run('main()')
|
||||||
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
#
|
||||||
|
# Copyright 2010 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This file is part of GNU Radio
|
||||||
|
#
|
||||||
|
# GNU Radio is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 3, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# GNU Radio is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNU Radio; see the file COPYING. If not, write to
|
||||||
|
# the Free Software Foundation, Inc., 51 Franklin Street,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
"""
|
||||||
|
Utilities for extracting text from generated classes.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def is_string(txt):
|
||||||
|
if isinstance(txt, str):
|
||||||
|
return True
|
||||||
|
try:
|
||||||
|
if isinstance(txt, unicode):
|
||||||
|
return True
|
||||||
|
except NameError:
|
||||||
|
pass
|
||||||
|
return False
|
||||||
|
|
||||||
|
def description(obj):
|
||||||
|
if obj is None:
|
||||||
|
return None
|
||||||
|
return description_bit(obj).strip()
|
||||||
|
|
||||||
|
def description_bit(obj):
|
||||||
|
if hasattr(obj, 'content'):
|
||||||
|
contents = [description_bit(item) for item in obj.content]
|
||||||
|
result = ''.join(contents)
|
||||||
|
elif hasattr(obj, 'content_'):
|
||||||
|
contents = [description_bit(item) for item in obj.content_]
|
||||||
|
result = ''.join(contents)
|
||||||
|
elif hasattr(obj, 'value'):
|
||||||
|
result = description_bit(obj.value)
|
||||||
|
elif is_string(obj):
|
||||||
|
return obj
|
||||||
|
else:
|
||||||
|
raise StandardError('Expecting a string or something with content, content_ or value attribute')
|
||||||
|
# If this bit is a paragraph then add one some line breaks.
|
||||||
|
if hasattr(obj, 'name') and obj.name == 'para':
|
||||||
|
result += "\n\n"
|
||||||
|
return result
|
|
@ -0,0 +1,6 @@
|
||||||
|
/*!
|
||||||
|
* \defgroup block GNU Radio OsmoSDR C++ Signal Processing Blocks
|
||||||
|
* \brief All C++ blocks that can be used from the OsmoSDR GNU Radio
|
||||||
|
* module are listed here or in the subcategories below.
|
||||||
|
*
|
||||||
|
*/
|
|
@ -0,0 +1,5 @@
|
||||||
|
/*! \mainpage
|
||||||
|
|
||||||
|
Welcome to the OsmoSDR GNUradio blocks
|
||||||
|
|
||||||
|
*/
|
Loading…
Reference in New Issue