HeaderDoc::APIOwner

Declared In:

Introduction

Intermediate API object base class for classes, headers, packages, namespaces, and so on.

Discussion

The APIOwner class is the base class for API symbol types that contain other symbols (not counting constants or fields in structs, enums, and typedefs).

This class is a subclass of HeaderElement.

This class is subclassed by Header, CPPClass (classes in all languages except Objective-C), and ObjCContainer (which is, in turn, subclassed by ObjCClass, ObjCCategory, and ObjCProtocol).

This API object type should never actually be emitted as output; only its subclasses are relevant.



Member Functions

_createHTMLOutputFile

Creates a file for HTML output.

_createXMLOutputFile

Creates a file for XML output.

_getCategoryXMLDetailString

Returns the XML content string for categories in this class or header.

_getClassEmbeddedTOC

Returns the embedded mini-TOC for classes.

_getClassXMLDetailString

Returns the XML content string for classes in this class or header.

_getCompositePageString

Generates output string for storing in the composite page.

_getConstantDetailString

Returns the right-side content for constants in this class or header.

_getConstantXMLDetailString

Returns the XML content string for constants in this class or header.

_getDetailString

Returns the right-side content for an array of objects.

_getDoxyTagString

Returns a Doxygen-style tagfile string.

_getEmbeddedTOC

Returns an embedded mini-TOC.

_getEnumDetailString

Returns the right-side content for enums in this class or header.

_getEnumXMLDetailString

Returns the XML content string for enums in this class or header.

_getFunctionDetailString

Returns the right-side content for functions in this class or header.

_getFunctionXMLDetailString

Returns the XML content string for functions in this class or header.

_getMethodDetailString

Returns the right-side content for methods in this class or header.

_getMethodXMLDetailString

Returns the XML content string for methods in this class or header.

_getPDefineDetailString

Returns the right-side content for #define macros in this class or header.

_getPDefineXMLDetailString

Returns the XML content string for #define macros in this class or header.

_getPropDetailString

Returns the right-side content for properties in this class or header.

_getPropXMLDetailString

Returns the XML content string for properties in this class or header.

_getProtocolXMLDetailString

Returns the XML content string for protocols in this class or header.

_getStructDetailString

Returns the right-side content for structs in this class or header.

_getStructXMLDetailString

Returns the XML content string for structs in this class or header.

_getTypedefDetailString

Returns the right-side content for typedefs in this class or header.

_getTypedefXMLDetailString

Returns the XML content string for typedefs in this class or header.

_getVarDetailString

Returns the right-side content for variables in this class or header.

_getVarXMLDetailString

Returns the XML content string for variables in this class or header.

_getXMLPageString

Generates output string for storing in an XML file.

_initialize

Initializes an instance of an APIOwner object.

addGroup

Adds a group to an APIOwner object.

addToCategories

Adds a category associated with this header.

addToClasses

Adds a class to class list

addToConstants

Adds a constant associated with this header or class.

addToEnums

Adds an enum associated with this header or class.

addToFunctions

Adds a function associated with this header or class.

addToGroup

Adds an object to a group.

addToMethods

Adds an Objective-C method associated with this class.

addToPDefines

Adds a #define macro associated with this header.

addToProps

Adds a property associated with this class.

addToProtocols

Adds a protocol associated with this header.

addToStructs

Adds a struct associated with this header or class.

addToTypedefs

Adds a typedef associated with this header or class.

addToVars

Adds a variable associated with this header or class.

alsoInclude

Gets/appends to the "also include" array.

apiUIDPrefix

Gets/sets the value of the apiUIDPrefix field in the HeaderDoc config file.

appleRefUsed

Marks an API reference ID as having been emitted already.

arrayToJSON

Private function for an Apple-specific output format.

availability

Sets and returns the availability of this class.

categories

Gets/sets the array of categories that are enclosed in this header.

categoriesDir

Gets/sets the path to the directory where category output should be written.

CClass

Indicates whether the class is a C pseudoclass.

classes

Gets/sets the array of classes within this header (or enclosing class).

classesDir

Gets/sets the path to the directory where class output should be written.

classType

Returns the class type for the block parser.

clone

Duplicates this APIOwner object into another one.

compositePageAPIRef

Returns an apple_ref marker for a header/class composite page.

compositePageAPIUID

Returns an apple_ref UID for a header/class composite page.

compositePageName

Gets/sets the filename that should be used for the composite page.

constants

Gets/sets the array of constants that are enclosed in this header or class.

constantsDir

Gets/sets the path to the directory where constant output should be written.

copyrightOwner

Gets/sets the copyright owner for the header, specified by the @copyright field.

createContentFile

Generates the content HTML file (right-side frame).

createFramesetFile

Creates the index.html frameset file for a class or header.

createTOCFile

Creates the table of contents file (toc.html) for a class or header.

currentClass

Gets/sets the last class added to this header (or class) object.

datatypesDir

Gets/sets the path to the directory where data type output should be written.

dbprint

Prints information about this object for debugging purposes.

defaultFrameName

Gets/sets the value of the defaultFrameName field in the HeaderDoc config file.

docNavigatorComment

Returns a comment marker for gatherHeaderDoc.

encoding

Gets/sets the encoding information for this class or header.

enums

Gets/sets the array of enums that are enclosed in this header or class.

enumsDir

Gets/sets the path to the directory where enum output should be written.

explicitSuper

Get/set whether superclass was specified in comment

fields

Gets/sets the array of fields that are associated with a C pseudoclass.

findClass

Returns whether the header contains a class with a given name.

findGroup

Searches for a group associated with an APIOwner object.

fix_date

Updates the dateStamp global variable.

fixupTypeRequests

Turns @function #define macros into functions.

free

Attempts to dispose of memory associated with this object.

functions

Gets/sets the array of functions that are enclosed in this header or class.

functionsDir

Gets/sets the path to the directory where function output should be written.

groupDoc

Returns the documentation block for groups.

headerObject

Gets/sets the header containing a class, category, protocol, etc.

htmlFooter

Gets/sets the value of the htmlFooter field in the HeaderDoc config file.

htmlHeader

Gets/sets the value of the htmlHeader field in the HeaderDoc config file.

HTMLmeta

Returns a string containing HTML meta tags for this header or class.

inarray

Checks for $name in $array referenced by $arrayref.

isAPIOwner

Returns whether an object is an APIOwner (or subclass thereof).

isCOMInterface

Returns whether the class is a COM interface.

isFramework

Get/set whether this file contains framework documentation

isMerged

Get/set whether this class has had its superclass's members merged in yet (if applicable)

isModule

Gets/sets whether this class is a real class or a module

keysToJSON

Private function for an Apple-specific output format.

langSupportsAccess

Returns whether access control is supported by the current programming language.

methods

Gets/sets the array of Objective-C methods that are enclosed in this class.

methodsDir

Gets/sets the path to the directory where method output should be written.

outputDir

Gets/sets the current output directory.

pDefines

Gets/sets the array of #define entries that are enclosed in this header.

pDefinesDir

Gets/sets the path to the directory where #define output should be written.

printObject

Prints this object for debugging purposes.

processComment

Processes a HeaderDoc comment for a class or header.

props

Gets/sets the array of properties that are enclosed in this class.

propsDir

Gets/sets the path to the directory where property output should be written.

protocols

Gets/sets the array of protocols that are enclosed in this header.

protocolsDir

Gets/sets the path to the directory where protocol output should be written.

removeFromCategories

Removes a maximum of one category per invocation.

removeFromFunctions

Removes a maximum of one function per invocation.

removeFromGroup

Removes an object from a group.

removeFromPDefines

Removes a maximum of one #define macro per invocation.

removeObject

Removes a maximum of one object per invocation.

reparentModuleMembers

Destroys any class objects associated with modules (which are not really classes, but can most easily be parsed as such).

resetAppleRefUsed

Clears the API reference hash used by appleRefUsed.

setupAPIReferences

Recursively ensures that the apirefSetup method has been called on everything that might get emitted later.

stripAppleRefs

Strips apple_ref markup from the composite page output.

striptitle

Strips out nasty bits from titles.

structs

Gets/sets the array of structs that are enclosed in this header or class.

structsDir

Gets/sets the path to the directory where struct output should be written.

tocAccess

Returns the HTML for an access heading (e.g. public, private) in the left-side TOC.

tocAccessEnd

Returns the HTML for closing an access group (e.g. public, private) in the left-side TOC.

tocEntry

Returns the HTML for a top-level entry in the left-side TOC.

tocGroup

Returns the HTML for a Group label in the left-side TOC.

tocGroupEnd

Returns the HTML for the end of a Group label in the left-side TOC.

tocHeading

Returns the HTML for a TOC section heading.

tocHeadingEnd

Returns the closing HTML tags to end a TOC section.

tocJSON

Private function for an Apple-specific output format.

tocSeparator

Returns a TOC separator block.

tocString

Generates the HTML for the left-side TOC.

tocStringSub

Returns the left-side TOC HTML for a set of data types, functions, methods, etc.

tocStringSubForClasses

Returns the left-side TOC for the Classes box.

tocSubEntry

Returns an entry for a single symbol in the left-side TOC.

tocTitlePrefix

Gets/sets the prefix for the title line in the left-side TOC.

tocWrapSubEntries

Returns the structure for a grouping of symbols in the left-side TOC.

typedefs

Gets/sets the array of typedefs that are enclosed in this header or class.

unsorted

Gets/sets whether TOC content for an API owner should be sorted or not.

updated

Sets and returns the last updated date for this class or header.

vars

Gets/sets the array of variables that are enclosed in this header or class.

varsDir

Gets/sets the path to the directory where variable output should be written.

writeCategories

Writes the categories in a header object to a composite page.

writeClasses

Writes the right-side content for classes in this header (or class).

writeConstants

Writes the right-side content for constants in this class or header.

writeEnums

Writes the right-side content for enums in this class or header.

writeFunctionListToStdOut

Writes a list of functions to standard output.

writeFunctions

Writes the right-side content for functions in this class or header.

writeHeaderElements

Writes the right-side content.

writeHeaderElementsToCompositePage

Writes output to the composite page.

writeHeaderElementsToDoxyFile

Writes a Doxygen-style tag file.

writeHeaderElementsToManPage

Writes a series of manual pages for a header's functions.

writeHeaderElementsToXMLPage

Writes output to an XML file.

writeMethods

Writes the right-side content for methods in this class or header.

writePDefines

Writes the right-side content for #define macros in this class or header.

writeProps

Writes the right-side content for properties in this class.

writeProtocols

Writes the protocols in a header object to a composite page.

writeStructs

Writes the right-side content for structs in this class or header.

writeTypedefs

Writes the right-side content for typdefs in this class or header.

writeVars

Writes the right-side content for variables in this class or header.


_createHTMLOutputFile


Creates a file for HTML output.

Parameters
self

The APIOwner object.

outputFile

The output filename.

orig_fileString

The data to write to the file.

heading

The source or header filename.

includeDocNavComment

Specifies whether to include a doc navigator comment in iframe output mode.


_createXMLOutputFile


Creates a file for XML output.

Parameters
self

The APIOwner object.

outputFile

The output filename.

orig_fileString

The data to write to the file.

heading

The source or header filename.


_getCategoryXMLDetailString


Returns the XML content string for categories in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getXMLPageString.


_getClassEmbeddedTOC


Returns the embedded mini-TOC for classes.

Parameters
self

The APIOwner object.

Discussion

This function generates the embedded mini-TOC that appears at the top of the Classes section in the right-side content.

This function is a wrapper for _getEmbeddedTOC that generates separate embedded TOCs for classes, categories, protocols, and COM interfaces.


_getClassXMLDetailString


Returns the XML content string for classes in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getXMLPageString.


_getCompositePageString


Generates output string for storing in the composite page.

Parameters
self

The APIOwner object.

Discussion

This function is called by writeHeaderElementsToCompositePage.


_getConstantDetailString


Returns the right-side content for constants in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getCompositePageString and writeConstants.


_getConstantXMLDetailString


Returns the XML content string for constants in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getXMLPageString.


_getDetailString


Returns the right-side content for an array of objects.

Parameters
self

The APIOwner object.

arrayref

A reference to the array of objects.

composite

Pass 1 if this is being generated for a composite page, else 0.

type

The raw name of the type (e.g. Enums, Functions). Used to generate the filename for linking purposes.

displaytype

The human-readable name of the type. Used in headings.


_getDoxyTagString


Returns a Doxygen-style tagfile string.

Parameters
self

The APIOwner object.

Discussion

Called by writeHeaderElementsToDoxyFile.


_getEmbeddedTOC


Returns an embedded mini-TOC.

Parameters
self

The APIOwner object.

listref

A reference to a list of objects.

typeFile

The raw type name (e.g. Functions, Methods). Used for generating the filename for links.

tag

The tag type name (e.g. function). Used for generating the jump link to the heading.

displaytype

The human-readable name of the type. Used in headings.

compositePage

Pass 1 if this is being generated for a composite page, else 0.

includeObjectName

Pass 1 if the object name is a path component, else 0. In effect, pass 1 for classes and similar, 0 for normal data types, functions, variables, etc.

Discussion

This function generates the embedded mini-TOC that appears at the top of various sections in the right-side content.


_getEnumDetailString


Returns the right-side content for enums in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getCompositePageString and writeEnums.


_getEnumXMLDetailString


Returns the XML content string for enums in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getXMLPageString.


_getFunctionDetailString


Returns the right-side content for functions in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getCompositePageString and writeFunctions.


_getFunctionXMLDetailString


Returns the XML content string for functions in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getXMLPageString.


_getMethodDetailString


Returns the right-side content for methods in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getCompositePageString and writeMethods.


_getMethodXMLDetailString


Returns the XML content string for methods in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getXMLPageString.


_getPDefineDetailString


Returns the right-side content for #define macros in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getCompositePageString and writePDefines.


_getPDefineXMLDetailString


Returns the XML content string for #define macros in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getXMLPageString.


_getPropDetailString


Returns the right-side content for properties in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getCompositePageString and writeProps.


_getPropXMLDetailString


Returns the XML content string for properties in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getXMLPageString.


_getProtocolXMLDetailString


Returns the XML content string for protocols in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getXMLPageString.


_getStructDetailString


Returns the right-side content for structs in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getCompositePageString and writeStructs.


_getStructXMLDetailString


Returns the XML content string for structs in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getXMLPageString.


_getTypedefDetailString


Returns the right-side content for typedefs in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getCompositePageString and writeTypedefs.


_getTypedefXMLDetailString


Returns the XML content string for typedefs in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getXMLPageString.


_getVarDetailString


Returns the right-side content for variables in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getCompositePageString and writeVars.


_getVarXMLDetailString


Returns the XML content string for variables in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by _getXMLPageString.


_getXMLPageString


Generates output string for storing in an XML file.

Parameters
self

The APIOwner object.

Discussion

This function is called by writeHeaderElementsToXMLPage.


_initialize


Initializes an instance of an APIOwner object.

Parameters
self

The object to initialize.


addGroup


Adds a group to an APIOwner object.

sub addGroup() 
Parameters
self

The APIOwner object.

group

The Group object.


addToCategories


Adds a category associated with this header.

Parameters
self

The APIOwner object.

CLASSES

The HeaderDoc::ObjCCategory objects to add.


addToClasses


Adds a class to class list

Parameters
self

The APIOwner object.

CLASSES

The HeaderDoc::CPPClass objects to add.

Discussion

Both headers and classes can contain classes (in some languages). This function is used for both cases.


addToConstants


Adds a constant associated with this header or class.

Parameters
self

The APIOwner object.

CONSTANTS

The HeaderDoc::Constant objects to add.


addToEnums


Adds an enum associated with this header or class.

Parameters
self

The APIOwner object.

ENUMS

The HeaderDoc::Enum objects to add.


addToFunctions


Adds a function associated with this header or class.

Parameters
self

The APIOwner object.

FUNCTIONS

The HeaderDoc::Function objects to add.


addToGroup


Adds an object to a group.

sub addToGroup() 
Parameters
self

The APIOwner object that owns the object.

groupname

The name of the group.

object

The object to remove.

Discussion

This function looks up a group by name and manipulates the associated Group object transparently.


addToMethods


Adds an Objective-C method associated with this class.

Parameters
self

The APIOwner object.

METHODS

The HeaderDoc::Method objects to add.


addToPDefines


Adds a #define macro associated with this header.

Parameters
self

The APIOwner object.

PDEFINES

The HeaderDoc::PDefine objects to add.


addToProps


Adds a property associated with this class.

Parameters
self

The APIOwner object.

PROPS

The HeaderDoc::Var objects (with isProperty set to 1) to add.


addToProtocols


Adds a protocol associated with this header.

Parameters
self

The APIOwner object.

CLASSES

The HeaderDoc::ObjCProtocol objects to add.


addToStructs


Adds a struct associated with this header or class.

Parameters
self

The APIOwner object.

STRUCTS

The HeaderDoc::Struct objects to add.


addToTypedefs


Adds a typedef associated with this header or class.

Parameters
self

The APIOwner object.

TYPEDEFS

The HeaderDoc::Typedef objects to add.


addToVars


Adds a variable associated with this header or class.

sub addToVars 
Parameters
self

The APIOwner object.

VARS

The HeaderDoc::Var objects (with isProperty set to 0) to add.


alsoInclude


Gets/appends to the "also include" array.

Parameters
self

This object.

newarray

The new array to set. (Optional.)

Discussion

This is used with C pseudoclasses to tell the parser to also include certain function declarations as members.


apiUIDPrefix


Gets/sets the value of the apiUIDPrefix field in the HeaderDoc config file.

Parameters
class

The APIOwner class object.

_apiUIDPrefix

The new prefix. (Optional)


appleRefUsed


Marks an API reference ID as having been emitted already.

Parameters
self

The API owner object.

uid

The user ID to query or set.

used

Normally, you would pass 1 when setting. If you just want to query the value, do not pass this argument.


arrayToJSON


Private function for an Apple-specific output format.

Parameters
optional_bits

A reference to the array to emit.

Discussion

Converts an array into JSON notation.


availability


Sets and returns the availability of this class.

Parameters
self

The APIOwner object.

availability

The availability value to set. (Optional)


categories


Gets/sets the array of categories that are enclosed in this header.

Parameters
self

The APIOwner object.

CLASSES

The array value to set. (Optional)


categoriesDir


Gets/sets the path to the directory where category output should be written.

Parameters
self

The APIOwner object.

CLASSES

The value to set. (Optional)

Discussion

This always contains [output_directory]/[this_header_directory]/Categories.


CClass


Indicates whether the class is a C pseudoclass.

sub CClass 
Parameters
self

The APIOwner object.


classes


Gets/sets the array of classes within this header (or enclosing class).

sub classes 
Parameters
self

The APIOwner object.

CLASSES

The array value to set. (Optional)


classesDir


Gets/sets the path to the directory where class output should be written.

Parameters
self

The APIOwner object.

CLASSESDIR

The value to set. (Optional)

Discussion

This always contains [output_directory]/[this_header_directory]/Classes.


classType


Returns the class type for the block parser.

sub classType 
Parameters
self

The APIOwner object.

Discussion

Returns the class type in a form that the block parser needs when handling the enclosed elements.


clone


Duplicates this APIOwner object into another one.

sub clone 
Parameters
self

The object to clone.

clone

The victim object.


compositePageAPIRef


Returns an apple_ref marker for a header/class composite page.

Parameters
self

The APIOwner object.


compositePageAPIUID


Returns an apple_ref UID for a header/class composite page.

Parameters
self

The APIOwner object.

Discussion

Called by compositePageAPIRef.


compositePageName


Gets/sets the filename that should be used for the composite page.

Parameters
class

The APIOwner class object.

_compositePageName

The new filename. (Optional)

Discussion

In the default mode (iframe output), this returns the default frame name.

This returns the value of the compositePageName field in the HeaderDoc config file if iframe output is disabled.


constants


Gets/sets the array of constants that are enclosed in this header or class.

sub constants 
Parameters
self

The APIOwner object.

CONSTANTS

The array value to set. (Optional)


constantsDir


Gets/sets the path to the directory where constant output should be written.

Parameters
self

The APIOwner object.

CLASSES

The value to set. (Optional)

Discussion

This always contains [output_directory]/[this_header_directory]/Constants.


copyrightOwner


Gets/sets the copyright owner for the header, specified by the @copyright field.

Parameters
class

The APIOwner class object.

_copyrightOwner

The new owner. (Optional)


createContentFile


Generates the content HTML file (right-side frame).

Parameters
self

The APIOwner object.

Discussion

In "class as composite" mode, this function does not get called. Instead, writeHeaderElementsToCompositePage is used.

Otherwise, this function just writes the introduction for the header or class itself, and the other right-side content is written later by a call to writeHeaderElements.


createFramesetFile


Creates the index.html frameset file for a class or header.

Parameters
self

The APIOwner object.


createTOCFile


Creates the table of contents file (toc.html) for a class or header.

Parameters
self

The APIOwner object.


currentClass


Gets/sets the last class added to this header (or class) object.

Parameters
self

The APIOwner object.

class

The array value to set. (Optional)

Discussion

Used for debugging purposes when dbprint() is called on the header object during processing.


datatypesDir


Gets/sets the path to the directory where data type output should be written.

Parameters
self

The APIOwner object.

CLASSES

The value to set. (Optional)

Discussion

This always contains [output_directory]/[this_header_directory]/DataTypes.


dbprint


Prints information about this object for debugging purposes.

sub dbprint 
Parameters
self

The APIOwner object.


defaultFrameName


Gets/sets the value of the defaultFrameName field in the HeaderDoc config file.

Parameters
class

The APIOwner class object.

_defaultFrameName

The new filename. (Optional)


docNavigatorComment


Returns a comment marker for gatherHeaderDoc.

Parameters
self

The APIOwner object.

Discussion

Overridden by subclasses to return an HTML comment that identifies the index file (Header vs. Class, name, and so on). The gatherHeaderDoc tool uses this information to create a master TOC for the generated doc.


encoding


Gets/sets the encoding information for this class or header.

sub encoding 
Parameters
self

The APIOwner object.

encoding

The value to set. (Optional)


enums


Gets/sets the array of enums that are enclosed in this header or class.

sub enums 
Parameters
self

The APIOwner object.

ENUMS

The array value to set. (Optional)


enumsDir


Gets/sets the path to the directory where enum output should be written.

sub enumsDir 
Parameters
self

The APIOwner object.

ENUMSDIR

The value to set. (Optional)

Discussion

This always contains [output_directory]/[this_header_directory]/Enums.


explicitSuper


Get/set whether superclass was specified in comment

Parameters
self

The APIOwner object.

value

The value to set. (Optional)

Discussion

If the superclass is explicitly specified in the markup with an @superclass tag, it means that the user wants to include the functions, data types, etc. from the superclass in the subclass's documentation where possible.


fields


Gets/sets the array of fields that are associated with a C pseudoclass.

sub fields 
Parameters
self

The APIOwner object.

VARS

The array value to set. (Optional)


findClass


Returns whether the header contains a class with a given name.

sub findClass 
Parameters
name

The class name to look for.

Discussion

Used by the BlockParse code to check to see if a header contains a particular class. This is so that C++ methods outside the class braces (in a .cpp file) can be merged into the class.

This could probably be replaced by a global symbol lookup for the class object now.


findGroup


Searches for a group associated with an APIOwner object.

sub findGroup 
Parameters
self

The APIOwner object.

name

The name to look for.

Return Value

Returns the Group object found.


fix_date


Updates the dateStamp global variable.

sub fix_date(
    $) 

fixupTypeRequests


Turns @function #define macros into functions.

Discussion

Fixes the case where the author requests @function treatment for a #define declaration. This is used only for HTML output paths. For XML, function and value #define macros have different attribute values that you can screen for on a global basis, if desired.


free


Attempts to dispose of memory associated with this object.

sub free 
Parameters
self

The APIOwner object.

freechildrenraw

Set to 0 to unlink all grandchildren of this node. Set to 1 to unlink all grandchildren of this node except for children of classes. Set to 2 to unlink this node by itself.


functions


Gets/sets the array of functions that are enclosed in this header or class.

sub functions 
Parameters
self

The APIOwner object.

FUNCTIONS

The array value to set. (Optional)


functionsDir


Gets/sets the path to the directory where function output should be written.

Parameters
self

The APIOwner object.

FUNCTIONSDIR

The value to set. (Optional)

Discussion

This always contains [output_directory]/[this_header_directory]/Functions.


groupDoc


Returns the documentation block for groups.

sub groupDoc() 
Parameters
self

The APIOwner object.

title

A title string for the heading above this documentation block.


headerObject


Gets/sets the header containing a class, category, protocol, etc.

Parameters
class

The APIOwner class object.

headerObject

The new object. (Optional)

Discussion

Returns a reference to the header associated with a class, category, protocol, or other API-owning structure. For a header, returns a reference to itself.


htmlFooter


Gets/sets the value of the htmlFooter field in the HeaderDoc config file.

Parameters
self

The APIOwner class object.

_htmlFooter

The new HTML footer bits. (Optional)


htmlHeader


Gets/sets the value of the htmlHeader field in the HeaderDoc config file.

Parameters
self

The APIOwner class object.

_htmlHeader

The new HTML header bits. (Optional)


HTMLmeta


Returns a string containing HTML meta tags for this header or class.

sub HTMLmeta 
Parameters
self

The APIOwner object.


inarray


Checks for $name in $array referenced by $arrayref.

sub inarray 
Parameters
name

The name to search for.

arrayref

A reference to the array to search in.


isAPIOwner


Returns whether an object is an APIOwner (or subclass thereof).

Parameters
self

The APIOwner object.

Discussion

Overrides the isAPIOwner method in the HeaderElement class.


isCOMInterface


Returns whether the class is a COM interface.

Parameters
self

The APIOwner object.

Discussion

Returns 1 if the class is a COM interface (a C pseudoclass marked with the @interface tag). Overridden in the CPPClass class.


isFramework


Get/set whether this file contains framework documentation

Parameters
self

The APIOwner object.

value

The value to set. (Optional)

Discussion

This function returns true if the APIOwner object is a Header object and the underlying file is a .hdoc file containing an @framework tag.


isMerged


Get/set whether this class has had its superclass's members merged in yet (if applicable)

sub isMerged 
Parameters
self

The APIOwner object.


isModule


Gets/sets whether this class is a real class or a module

sub isModule 
Parameters
self

The APIOwner object.

value

The value to set. (Optional)


keysToJSON


Private function for an Apple-specific output format.

Parameters
optional_bits

A reference to an array full of keys to emit.

Discussion

Converts a key in an associative array into a JSON key. When you call this, the surrounding JSON array should already be open.


langSupportsAccess


Returns whether access control is supported by the current programming language.

Return Value

Returns 1 if the programming language for this object supports access control, else 0.


methods


Gets/sets the array of Objective-C methods that are enclosed in this class.

sub methods 
Parameters
self

The APIOwner object.

METHODS

The array value to set. (Optional)


methodsDir


Gets/sets the path to the directory where method output should be written.

Parameters
self

The APIOwner object.

METHODSDIR

The value to set. (Optional)

Discussion

This always contains [output_directory]/[this_header_directory]/Methods.


outputDir


Gets/sets the current output directory.

sub outputDir 
Parameters
self

The APIOwner object.

directory

The new default output directory. (Optional)

Discussion

This function returns the output directory (usually specified by -o on the command line).


pDefines


Gets/sets the array of #define entries that are enclosed in this header.

sub pDefines 
Parameters
self

The APIOwner object.

PDEFINES

The array value to set. (Optional)


pDefinesDir


Gets/sets the path to the directory where #define output should be written.

Parameters
self

The APIOwner object.

CLASSES

The value to set. (Optional)

Discussion

This always contains [output_directory]/[this_header_directory]/PDefines.


printObject


Prints this object for debugging purposes.

Parameters
self

The APIOwner object.


processComment


Processes a HeaderDoc comment for a class or header.

Parameters
self

The APIOwner object.

fieldArrayRef

A reference to an array of fields. This should be the result of calling HeaderDoc::Utilities::stringToFields on the HeaderDoc comment.

This is essentially the result of calling split on the @ symbol in the comment, but there is some subtlety involved, so don't do that.

embedded

Pass 1 when processing comments for embedded markup (e.g. a method inside a class). Otherwise, pass 0.

parseTree

The HeaderDoc::ParseTree class instance associated with the class or header.

soc

Start of comment marker (from parseTokens).

ilc

Start of single-line comment marker (from parseTokens).

ilc_b

Start of single-line comment marker #2 (from parseTokens).


props


Gets/sets the array of properties that are enclosed in this class.

sub props 
Parameters
self

The APIOwner object.

PROPS

The array value to set. (Optional)


propsDir


Gets/sets the path to the directory where property output should be written.

sub propsDir 
Parameters
self

The APIOwner object.

CLASSES

The value to set. (Optional)

Discussion

This always contains [output_directory]/[this_header_directory]/Properties.


protocols


Gets/sets the array of protocols that are enclosed in this header.

sub protocols 
Parameters
self

The APIOwner object.

CLASSES

The array value to set. (Optional)


protocolsDir


Gets/sets the path to the directory where protocol output should be written.

Parameters
self

The APIOwner object.

CLASSES

The value to set. (Optional)

Discussion

This always contains [output_directory]/[this_header_directory]/Protocols.


removeFromCategories


Removes a maximum of one category per invocation.

Parameters
self

The APIOwner object.

CLASSES

The category to remove. (Optional)

Discussion

A category gets removed if the higher level code successfully finds the associated class and adds the category methods to it.


removeFromFunctions


Removes a maximum of one function per invocation.

Parameters
self

The APIOwner object.

obj

The function object to remove.

Discussion

A function gets removed if it gets merged into a C pseudoclass by an @alsoInclude directive.


removeFromGroup


Removes an object from a group.

Parameters
self

The APIOwner object that owns the object.

groupname

The name of the group.

object

The object to remove.

Discussion

This function looks up a group by name and manipulates the associated Group object transparently.


removeFromPDefines


Removes a maximum of one #define macro per invocation.

Parameters
self

The APIOwner object.

obj

The #define object to remove.

Discussion

A #define gets removed if it gets merged into a C pseudoclass by an @alsoInclude directive.


removeObject


Removes a maximum of one object per invocation.

Parameters
self

The APIOwner object.

obj

The object to remove.

Discussion

Used by removeFromFunctions and removeFromPDefines.


reparentModuleMembers


Destroys any class objects associated with modules (which are not really classes, but can most easily be parsed as such).

Parameters
self

The APIOwner object.


resetAppleRefUsed


Clears the API reference hash used by appleRefUsed.

Discussion

This is called when an API owner object needs to be emitted again (e.g. when a category's methods are folded into a class in another header).


setupAPIReferences


Recursively ensures that the apirefSetup method has been called on everything that might get emitted later.


stripAppleRefs


Strips apple_ref markup from the composite page output.

Parameters
self

The APIOwner object.

Discussion

An apple_ref marker is a named anchor that uniquely identifies each API symbol. For example, an Objective-C class named Foo would have the anchor <a name="//apple_ref/occ/cl/Foo"></a>. This markup is already in the primary documentation pages, so the duplicates must be removed from the composite pages. See the Symbol Markers for HTML-Based Documentation in HeaderDoc User Guide to learn more about apple_ref markup.


striptitle


Strips out nasty bits from titles.


structs


Gets/sets the array of structs that are enclosed in this header or class.

sub structs 
Parameters
self

The APIOwner object.

STRUCTS

The array value to set. (Optional)


structsDir


Gets/sets the path to the directory where struct output should be written.

Parameters
self

The APIOwner object.

CLASSES

The value to set. (Optional)

Discussion

This always contains [output_directory]/[this_header_directory]/Structs.


tocAccess


Returns the HTML for an access heading (e.g. public, private) in the left-side TOC.

sub tocAccess 
Discussion

Part of the new-style TOC code.


tocAccessEnd


Returns the HTML for closing an access group (e.g. public, private) in the left-side TOC.

Discussion

Part of the new-style TOC code.


tocEntry


Returns the HTML for a top-level entry in the left-side TOC.

sub tocEntry 
Discussion

In practice, this is used for the Overview section link and the link back to the enclosing header from a class.


tocGroup


Returns the HTML for a Group label in the left-side TOC.

sub tocGroup 
Discussion

Part of the new-style TOC code.


tocGroupEnd


Returns the HTML for the end of a Group label in the left-side TOC.

Discussion

Part of the new-style TOC code.


tocHeading


Returns the HTML for a TOC section heading.

Discussion

Part of the new-style TOC code.


tocHeadingEnd


Returns the closing HTML tags to end a TOC section.

Discussion

Part of the new-style TOC code.


tocJSON


Private function for an Apple-specific output format.

sub tocJSON 
Parameters
href

The section or book link href.

title

The section or book title.

mode

Mode value. 0 means open and close with no contents. 1 means open and leave open. 2 means close and add a trailing comma. 3 means close without trailing comma.

pos

Value for the closedAt key. Useful for debugging this code.

optional_bits

Additional keys to add at the top level of the TOC.

Discussion

Generates a JSON-style table of contents.


tocSeparator


Returns a TOC separator block.


tocString


Generates the HTML for the left-side TOC.

sub tocString 
Parameters
newTOC

Specifies Apple-style TOC (requires external JavaScript and CSS bits).

arrayref

A reference to the array to search in.


tocStringSub


Returns the left-side TOC HTML for a set of data types, functions, methods, etc.

Discussion

This function takes an array of objects and generates the left-side TOC entries for those objects wrapped in appropriate HTML structures.

This is similar to tocStringSubForClasses except that the actual URL is generated differently because of the HTML structure.


tocStringSubForClasses


Returns the left-side TOC for the Classes box.

Discussion

This generates everything under the Classes section of the left-side TOC.

This is similar to tocStringSub except that the actual URLs are generated differently because of the HTML structure being linked to.


tocSubEntry


Returns an entry for a single symbol in the left-side TOC.

Discussion

Part of the new-style TOC code.


tocTitlePrefix


Gets/sets the prefix for the title line in the left-side TOC.

Parameters
self

The APIOwner object.

directory

The value to set. (Optional)

Discussion

Returns Header:, Class:, etc. (with a trailing space), depending on the type of object it is called on. This string is emitted before the name of the header, class, etc. in the table of contents (left column).

This value is set by the _initialize routine in each subclass.


tocWrapSubEntries


Returns the structure for a grouping of symbols in the left-side TOC.

Discussion

Part of the new-style TOC code.


typedefs


Gets/sets the array of typedefs that are enclosed in this header or class.

sub typedefs 
Parameters
self

The APIOwner object.

TYPEDEFS

The array value to set. (Optional)


unsorted


Gets/sets whether TOC content for an API owner should be sorted or not.

sub unsorted 
Parameters
self

The API owner object.

value

Optional. If passed in, the new value.

Return Value

Returns the current value (after changing it, if necessary).

Discussion

Legal values are 0 (sorted) and 1 (unsorted).


updated


Sets and returns the last updated date for this class or header.

sub updated 
Parameters
self

The APIOwner object.

availability

The availability value to set. (Optional)


vars


Gets/sets the array of variables that are enclosed in this header or class.

sub vars 
Parameters
self

The APIOwner object.

VARS

The array value to set. (Optional)


varsDir


Gets/sets the path to the directory where variable output should be written.

sub varsDir 
Parameters
self

The APIOwner object.

CLASSES

The value to set. (Optional)

Discussion

This always contains [output_directory]/[this_header_directory]/Vars.


writeCategories


Writes the categories in a header object to a composite page.

Parameters
self

The Header object.


writeClasses


Writes the right-side content for classes in this header (or class).

Parameters
self

The APIOwner object.

Discussion

Called by writeHeaderElements.


writeConstants


Writes the right-side content for constants in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by writeHeaderElements.


writeEnums


Writes the right-side content for enums in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by writeHeaderElements.


writeFunctionListToStdOut


Writes a list of functions to standard output.

Parameters
self

The APIOwner object.

Discussion

The format of this list is subject to change without notice.


writeFunctions


Writes the right-side content for functions in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by writeHeaderElements.


writeHeaderElements


Writes the right-side content.

Parameters
self

The APIOwner object.

Discussion

In "class as composite" mode, this function's purpose is handled by writeHeaderElementsToCompositePage, so it does not get called.

Otherwise, this function writes all of the right-side content frames (e.g. Methods/Methods.html) except for the introduction (which is written by writeHeaderElements).


writeHeaderElementsToCompositePage


Writes output to the composite page.

Parameters
self

The APIOwner object.

Discussion

In "class as composite" mode, this function supersedes the function createContentFile.


writeHeaderElementsToDoxyFile


Writes a Doxygen-style tag file.

Parameters
self

The APIOwner object.

Discussion

This function does not write the final tag file. Instead, it writes a partial tag file that represents the contents of a single header. At the end of processing, HeaderDoc combines these into a single tag file.


writeHeaderElementsToManPage


Writes a series of manual pages for a header's functions.

Parameters
self

The APIOwner object.

Discussion

This function requires the xmlman binaries to be installed in /usr/bin.


writeHeaderElementsToXMLPage


Writes output to an XML file.

Parameters
self

The APIOwner object.


writeMethods


Writes the right-side content for methods in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by writeHeaderElements.


writePDefines


Writes the right-side content for #define macros in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by writeHeaderElements.


writeProps


Writes the right-side content for properties in this class.

Parameters
self

The APIOwner object.

Discussion

Called by writeHeaderElements.


writeProtocols


Writes the protocols in a header object to a composite page.

Parameters
self

The Header object.


writeStructs


Writes the right-side content for structs in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by writeHeaderElements.


writeTypedefs


Writes the right-side content for typdefs in this class or header.

Parameters
self

The APIOwner object.

Discussion

Called by writeHeaderElements.


writeVars


Writes the right-side content for variables in this class or header.

sub writeVars 
Parameters
self

The APIOwner object.

Discussion

Called by writeHeaderElements.


Member Data

ALSOINCLUDE

Contains an array of names of functions to "also include" in the documentation for this class/pseudoclass. Mainly intended for applying class-like behavior to procedural languages.

APPLEREFUSED

A reference to a hash containing API references that have been emitted already in the context of this API owner. This is needed so that it can be reset if a class is re-emitted (after category folding, for example).

CATEGORIES

An array of ObjCCategory objects within this class or header.

CATEGORIESDIR

The directory where output will be written for categories within this header. Set by outputDir.

CCLASS

Set to 1 for a C pseudoclass, else 0.

CLASSES

An array of CPPClass or ObjCClass objects within this class or header.

CLASSESDIR

The directory where output will be written for classes within this header. Set by outputDir.

CONSTANTSDIR

The directory where output will be written for constants within this header. Set by outputDir.

CURRENTCLASS

The last class added to this header (or class) object. See currentClass.

DATATYPESDIR

The directory where output will be written for data types within this header. Set by outputDir.

ENCODING

The character encoding (guessed) for this header.

ENUMS

An array of Enum objects within this class or header.

ENUMSDIR

The directory where output will be written for enumerations within this header. Set by outputDir.

EXPLICITSUPER

Set to 1 if the superclass is specified explicitly with the @superclass tag. See explicitSuper.

EXPORTINGFORDB

Deprecated.

EXPORTSDIR

The directory where output will be written for database exports from this header. Set by outputDir. Unused.

FUNCTIONGROUPSTATE

Used during embedded markup processing to keep track of the most recent @functiongroup or @methodgroup tag value.

FUNCTIONS

An array of Function objects within this class or header.

FUNCTIONSDIR

The directory where output will be written for functions within this header. Set by outputDir.

GROUPS

An array of Group objects within this class or header.

HeaderDoc::APIOwner::VERSION

The revision control revision number for this module.

HEADEROBJECT

The Header object for the header that contains this class. (For a header, this points to itself.) See headerObject.

ISFRAMEWORK

Set to 1 if this object resulted from an @framework tag, else 0.

ISMERGED

Set to 1 if this the superclass members have been merged into this class (if applicable), else 0. See isMerged.

ISMODULE

Set to 1 if this class is actually a module in IDL. See isModule.

METHODS

An array of Method objects within this class or header.

METHODSDIR

The directory where output will be written for methods within this header. Set by outputDir.

OUTPUTDIR

The output directory for this header. Set by outputDir.

PDEFINES

An array of PDefine objects within this class or header.

PDEFINESDIR

The directory where output will be written for #define macros within this header. Set by outputDir.

PROPS

An array of Var property objects within this class or header.

PROPSDIR

The directory where output will be written for properties within this header. Set by outputDir.

PROTOCOLS

An array of ObjCProtocol objects within this class or header.

PROTOCOLSDIR

The directory where output will be written for protocols within this header. Set by outputDir.

STRUCTS

An array of Struct objects within this class or header.

STRUCTSDIR

The directory where output will be written for structs within this header. Set by outputDir.

TOCTITLEPREFIX

The prefix that precedes the name of the header or file in the left-side table of contents. See tocTitlePrefix.

TYPEDEFS

An array of Typedef objects within this class or header.

TYPEDEFSDIR

The directory where output will be written for typedefs within this header. Set by outputDir.

UNSORTED

Stores whether the TOC for this API owner object should be displayed without sorting. Use unsorted to access this variable.

VARSDIR

The directory where output will be written for variables within this header. Set by outputDir.


ALSOINCLUDE


Contains an array of names of functions to "also include" in the documentation for this class/pseudoclass. Mainly intended for applying class-like behavior to procedural languages.

$self->{ALSOINCLUDE}

APPLEREFUSED


A reference to a hash containing API references that have been emitted already in the context of this API owner. This is needed so that it can be reset if a class is re-emitted (after category folding, for example).

$self->{APPLEREFUSED}

CATEGORIES


An array of ObjCCategory objects within this class or header.

$self->{CATEGORIES}

CATEGORIESDIR


The directory where output will be written for categories within this header. Set by outputDir.

$self->{CATEGORIESDIR}

CCLASS


Set to 1 for a C pseudoclass, else 0.

$self->{CCLASS}

CLASSES


An array of CPPClass or ObjCClass objects within this class or header.

$self->{CLASSES}

CLASSESDIR


The directory where output will be written for classes within this header. Set by outputDir.

$self->{CLASSESDIR}

CONSTANTSDIR


The directory where output will be written for constants within this header. Set by outputDir.

$self->{CONSTANTSDIR}

CURRENTCLASS


The last class added to this header (or class) object. See currentClass.

$self->{CURRENTCLASS}

DATATYPESDIR


The directory where output will be written for data types within this header. Set by outputDir.

$self->{DATATYPESDIR}

ENCODING


The character encoding (guessed) for this header.

$self->{ENCODING}

ENUMS


An array of Enum objects within this class or header.

$self->{ENUMS}

ENUMSDIR


The directory where output will be written for enumerations within this header. Set by outputDir.

$self->{ENUMSDIR}

EXPLICITSUPER


Set to 1 if the superclass is specified explicitly with the @superclass tag. See explicitSuper.

$self->{EXPLICITSUPER}

EXPORTINGFORDB


Deprecated.

$self->{EXPORTINGFORDB}

EXPORTSDIR


The directory where output will be written for database exports from this header. Set by outputDir. Unused.

$self->{EXPORTSDIR}

FUNCTIONGROUPSTATE


Used during embedded markup processing to keep track of the most recent @functiongroup or @methodgroup tag value.

$self->{FUNCTIONGROUPSTATE}

FUNCTIONS


An array of Function objects within this class or header.

$self->{FUNCTIONS}

FUNCTIONSDIR


The directory where output will be written for functions within this header. Set by outputDir.

$self->{FUNCTIONSDIR}

GROUPS


An array of Group objects within this class or header.

$self->{GROUPS}

HeaderDoc::APIOwner::VERSION


The revision control revision number for this module.

$HeaderDoc::APIOwner::VERSION = '$Revision: 1340150018 $';  
Discussion

In the git repository, contains the number of seconds since January 1, 1970.


HEADEROBJECT


The Header object for the header that contains this class. (For a header, this points to itself.) See headerObject.

$self->{HEADEROBJECT}

ISFRAMEWORK


Set to 1 if this object resulted from an @framework tag, else 0.

$self->{ISFRAMEWORK}

ISMERGED


Set to 1 if this the superclass members have been merged into this class (if applicable), else 0. See isMerged.

$self->{ISMERGED}

ISMODULE


Set to 1 if this class is actually a module in IDL. See isModule.

$self->{ISMODULE}

METHODS


An array of Method objects within this class or header.

$self->{METHODS}

METHODSDIR


The directory where output will be written for methods within this header. Set by outputDir.

$self->{METHODSDIR}

OUTPUTDIR


The output directory for this header. Set by outputDir.

$self->{OUTPUTDIR}

PDEFINES


An array of PDefine objects within this class or header.

$self->{PDEFINES}

PDEFINESDIR


The directory where output will be written for #define macros within this header. Set by outputDir.

$self->{PDEFINESDIR}

PROPS


An array of Var property objects within this class or header.

$self->{PROPS}

PROPSDIR


The directory where output will be written for properties within this header. Set by outputDir.

$self->{PROPSDIR}

PROTOCOLS


An array of ObjCProtocol objects within this class or header.

$self->{PROTOCOLS}

PROTOCOLSDIR


The directory where output will be written for protocols within this header. Set by outputDir.

$self->{PROTOCOLSDIR}

STRUCTS


An array of Struct objects within this class or header.

$self->{STRUCTS}

STRUCTSDIR


The directory where output will be written for structs within this header. Set by outputDir.

$self->{STRUCTSDIR}

TOCTITLEPREFIX


The prefix that precedes the name of the header or file in the left-side table of contents. See tocTitlePrefix.

$self->{TOCTITLEPREFIX}

TYPEDEFS


An array of Typedef objects within this class or header.

$self->{TYPEDEFS}

TYPEDEFSDIR


The directory where output will be written for typedefs within this header. Set by outputDir.

$self->{TYPEDEFSDIR}

UNSORTED


Stores whether the TOC for this API owner object should be displayed without sorting. Use unsorted to access this variable.

$self->{UNSORTED}

VARSDIR


The directory where output will be written for variables within this header. Set by outputDir.

$self->{VARSDIR}