forked from tomaz/appledoc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DoxygenOutputGenerator.h
84 lines (66 loc) · 3.41 KB
/
DoxygenOutputGenerator.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
//
// DoxygenOutputGenerator.h
// appledoc
//
// Created by Tomaz Kragelj on 11.6.09.
// Copyright (C) 2009, Tomaz Kragelj. All rights reserved.
//
#import "OutputGenerator.h"
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
/** Defines a concrete @c OutputGenerator which runs doxygen over the source files to
generate intermediate XML documentation.
The generator first checks if required doxygen configuration file exists. If not, it
creates it and updates it so that default options are all set. Then it extracts the
actual XML output directory path and other relevant values which can be changed by
the user after initial creation. When doxygen configuration file is processed, the
generator invokes doxygen so that it actually generates the output for us.
*/
@interface DoxygenOutputGenerator : OutputGenerator
{
NSString* outputDirectory;
NSString* outputRelativePath;
}
//////////////////////////////////////////////////////////////////////////////////////////
/// @name Doxygen handling
//////////////////////////////////////////////////////////////////////////////////////////
/** Creates the doxygen configuration file if it doesn't exist yet.
This method checks if the desired doxygen file already exists or not. If not, it creates
it by asking doxygen itself to generate the default file including comments so that later
manual tweaking is easier. Then it changes the default options so that XML output is
generated only. If the configuration file already exists, nothing happens.
This message is automatically sent from @c generateSpecificOutput() in the proper order.
It is not designed to be sent manually from the clients.
@exception NSException Thrown if creation of the file fails.
@see updateDoxygenConfigFile
@see createDoxygenDocumentation
*/
- (void) createDoxygenConfigFile;
/** Updates the doxygen configuration file so that it contains proper options.
This method will check if configuration file exists or not. If it does, it will read it
and replace default options with new ones. If it finds at least one option changed,
it will not update the file to preserve any user customizations.
Note that this method will also parse the actual xml output path from the configuration
file and will set to the @c CommandLineParser, so that other generators can use it
later on.
This message is automatically sent from @c generateSpecificOutput() in the proper order.
It is not designed to be sent manually from the clients.
@exception NSException Thrown if doxygen configuration file doesn't exist or cannot be
parsed or changed.
@see createDoxygenConfigFile
@see createDoxygenDocumentation
*/
- (void) updateDoxygenConfigFile;
/** Creates the doxygen documentation by running the doxygen over it's configuration file.
This method will check if configuration file exists or not. If it does, it will run the
doxygen so that documentation is created. If the file doesn't exist, an exception will
be thrown.
This message is automatically sent from @c generateSpecificOutput() in the proper order.
It is not designed to be sent manually from the clients.
@exception NSException Thrown if doxygen configuration file doesn't exist or documentation
creation fails (probably due to corrupted or invalid file).
@see createDoxygenConfigFile
@see updateDoxygenConfigFile
*/
- (void) createDoxygenDocumentation;
@end