blob: 1924dc751888a559ab7d769f4c60feca3a105b30 (
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
92
93
94
95
96
97
98
99
100
101
|
//
// "$Id$"
//
// Group class for the CUPS PPD Compiler.
//
// Copyright 2007-2009 by Apple Inc.
// Copyright 2002-2005 by Easy Software Products.
//
// These coded instructions, statements, and computer programs are the
// property of Apple Inc. and are protected by Federal copyright
// law. Distribution and use rights are outlined in the file "LICENSE.txt"
// which should have been included with this file. If this file is
// file is missing or damaged, see the license at "http://www.cups.org/".
//
// Contents:
//
// ppdcGroup::ppdcGroup() - Copy a new group.
// ppdcGroup::~ppdcGroup() - Destroy a group.
// ppdcGroup::find_option() - Find an option in a group.
//
//
// Include necessary headers...
//
#include "ppdc.h"
//
// 'ppdcGroup::ppdcGroup()' - Create a new group.
//
ppdcGroup::ppdcGroup(const char *n, // I - Name of group
const char *t) // I - Text of group
{
PPDC_NEW;
name = new ppdcString(n);
text = new ppdcString(t);
options = new ppdcArray();
}
//
// 'ppdcGroup::ppdcGroup()' - Copy a new group.
//
ppdcGroup::ppdcGroup(ppdcGroup *g) // I - Group template
{
ppdcOption *o; // Current option
PPDC_NEW;
g->name->retain();
g->text->retain();
name = g->name;
text = g->text;
options = new ppdcArray();
for (o = (ppdcOption *)g->options->first(); o; o = (ppdcOption *)g->options->next())
options->add(new ppdcOption(o));
}
//
// 'ppdcGroup::~ppdcGroup()' - Destroy a group.
//
ppdcGroup::~ppdcGroup()
{
PPDC_DELETE;
name->release();
text->release();
options->release();
}
//
// 'ppdcGroup::find_option()' - Find an option in a group.
//
ppdcOption *
ppdcGroup::find_option(const char *n) // I - Name of option
{
ppdcOption *o; // Current option
for (o = (ppdcOption *)options->first(); o; o = (ppdcOption *)options->next())
if (!strcasecmp(n, o->name->value))
return (o);
return (0);
}
//
// End of "$Id$".
//
|