#include "ppdc-private.h"
ppdcGroup::ppdcGroup(const char *n, const char *t) {
PPDC_NEWVAL(n);
name = new ppdcString(n);
text = new ppdcString(t);
options = new ppdcArray();
}
ppdcGroup::ppdcGroup(ppdcGroup *g) {
PPDC_NEWVAL(g->name->value);
g->name->retain();
g->text->retain();
name = g->name;
text = g->text;
options = new ppdcArray();
for (ppdcOption *o = (ppdcOption *)g->options->first();
o;
o = (ppdcOption *)g->options->next())
options->add(new ppdcOption(o));
}
ppdcGroup::~ppdcGroup()
{
PPDC_DELETEVAL(name ? name->value : NULL);
name->release();
text->release();
options->release();
name = text = 0;
options = 0;
}
ppdcOption *
ppdcGroup::find_option(const char *n) {
ppdcOption *o;
for (o = (ppdcOption *)options->first(); o; o = (ppdcOption *)options->next())
if (!_cups_strcasecmp(n, o->name->value))
return (o);
return (0);
}