summaryrefslogtreecommitdiff
path: root/ppdc/ppdc-group.cxx
diff options
context:
space:
mode:
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2008-02-16 00:27:39 +0000
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2008-02-16 00:27:39 +0000
commitac884b6a1c1c3dfe73ef7e770d91ea225002a2c3 (patch)
tree09fb84a85bf308c6a6dd45f7293c64c40fe5acdc /ppdc/ppdc-group.cxx
parent5a738aeaea5c4dd9384a8601cc5c99be683b69ca (diff)
downloadcups-ac884b6a1c1c3dfe73ef7e770d91ea225002a2c3.tar.gz
Merge CUPS 1.4svn-r7319.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@624 a1ca3aef-8c08-0410-bb20-df032aa958be
Diffstat (limited to 'ppdc/ppdc-group.cxx')
-rw-r--r--ppdc/ppdc-group.cxx96
1 files changed, 96 insertions, 0 deletions
diff --git a/ppdc/ppdc-group.cxx b/ppdc/ppdc-group.cxx
new file mode 100644
index 000000000..c93fc20b1
--- /dev/null
+++ b/ppdc/ppdc-group.cxx
@@ -0,0 +1,96 @@
+//
+// "$Id$"
+//
+// Group class for the CUPS PPD Compiler.
+//
+// Copyright 2007 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() - Create a new group.
+// 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
+{
+ 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
+
+
+ g->name->get();
+ g->text->get();
+
+ 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()
+{
+ name->release();
+ text->release();
+ delete options;
+}
+
+
+//
+// '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$".
+//