blob: 8494a90238057cd0ae6e928ec352cae57f91a6d1 (
plain)
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
85
86
87
88
89
90
91
|
###############################################################################
#
# Class: NaturalDocs::Settings::BuildTarget
#
###############################################################################
#
# A class that stores information about a build target.
#
# Notes:
#
# <Name()> is not used yet. It's present because targets can be named in the settings file ("api", "apipdf", etc.) but the
# settings file isn't implemented yet, so just set it to undef.
#
###############################################################################
# This file is part of Natural Docs, which is Copyright (C) 2003-2005 Greg Valure
# Natural Docs is licensed under the GPL
use strict;
use integer;
package NaturalDocs::Settings::BuildTarget;
###############################################################################
# Group: Implementation
#
# Constants: Members
#
# The class is implemented as a blessed arrayref with the members below.
#
# NAME - The name of the target.
# BUILDER - The <NaturalDocs::Builder::Base>-derived object for the target's output format.
# DIRECTORY - The output directory of the target.
#
use constant NAME => 0;
use constant BUILDER => 1;
use constant DIRECTORY => 2;
# New depends on the order of these constants.
###############################################################################
# Group: Functions
#
# Function: New
#
# Creates and returns a new object.
#
# Parameters:
#
# name - The name of the target.
# builder - The <NaturalDocs::Builder::Base>-derived object for the target's output format.
# directory - The directory to place the output files in.
#
sub New #(name, builder, directory, style)
{
my $package = shift;
# This depends on the order of the parameters matching the order of the constants.
my $object = [ @_ ];
bless $object, $package;
return $object;
};
# Function: Name
# Returns the target's name.
sub Name
{ return $_[0]->[NAME]; };
# Function: SetName
# Changes the target's name.
sub SetName #(name)
{ $_[0]->[NAME] = $_[1]; };
# Function: Builder
# Returns the <NaturalDocs::Builder::Base>-derived object for the target's output format.
sub Builder
{ return $_[0]->[BUILDER]; };
# Function: Directory
# Returns the directory for the traget's output files.
sub Directory
{ return $_[0]->[DIRECTORY]; };
1;
|