]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - ppdc/ppdc.h
Fix .PHONY declaration
[thirdparty/cups.git] / ppdc / ppdc.h
index e8e6f2b23227a2053eb308642a7d3a1053761b23..6a69c6eb2466d4d61ec38871b92409dafa19cc1e 100644 (file)
@@ -1,16 +1,14 @@
 //
-// "$Id$"
+// Definitions for the CUPS PPD Compiler.
 //
-//   Definitions for the CUPS PPD Compiler.
+// Copyright 2007-2009 by Apple Inc.
+// Copyright 2002-2007 by Easy Software Products.
 //
-//   Copyright 2007-2008 by Apple Inc.
-//   Copyright 2002-2007 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/".
+// 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
+// missing or damaged, see the license at "http://www.cups.org/".
 //
 
 #ifndef _PPDC_H_
 // Include necessary headers...
 //
 
-#  include <cups/string.h>
-
 #  include <cups/file.h>
 #  include <stdlib.h>
-#  include <errno.h>
+
+
+//
+// Macros...
+//
+
+#  define PPDC_NAME(s) const char *class_name() { return (s); }
 
 
 //
@@ -96,6 +98,8 @@ class ppdcShared                      //// Shared Data Value
   ppdcShared();
   virtual ~ppdcShared();
 
+  virtual const char *class_name() = 0;
+
   void         retain();
   void         release();
 };
@@ -113,6 +117,8 @@ class ppdcArray                             //// Shared Array
   ppdcArray(ppdcArray *a = 0);
   ~ppdcArray();
 
+  PPDC_NAME("ppdcArray")
+
   void         add(ppdcShared *d);
   ppdcShared   *first();
   ppdcShared   *next();
@@ -128,6 +134,8 @@ class ppdcString                    //// Shared String
 
   ppdcString(const char *v);
   ~ppdcString();
+
+  PPDC_NAME("ppdcString")
 };
 
 class ppdcInteger                      //// Shared integer
@@ -138,6 +146,8 @@ class ppdcInteger                   //// Shared integer
   int          *value;                 // Integer value
 
   ppdcInteger(int *v) { value = v; }
+
+  PPDC_NAME("ppdcInteger")
 };
 
 class ppdcMessage                      //// Translation message
@@ -150,6 +160,8 @@ class ppdcMessage                   //// Translation message
 
   ppdcMessage(const char *i, const char *s);
   ~ppdcMessage();
+
+  PPDC_NAME("ppdcMessage")
 };
 
 class ppdcCatalog                      //// Translation catalog
@@ -164,6 +176,8 @@ class ppdcCatalog                   //// Translation catalog
   ppdcCatalog(const char *l, const char *f = 0);
   ~ppdcCatalog();
 
+  PPDC_NAME("ppdcCatalog")
+
   void         add_message(const char *id, const char *string = NULL);
   const char   *find_message(const char *id);
   int          load_messages(const char *f);
@@ -184,6 +198,8 @@ class ppdcAttr                              //// Attribute
   ppdcAttr(const char *n, const char *s, const char *t, const char *v,
            bool loc = false);
   ~ppdcAttr();
+
+  PPDC_NAME("ppdcAttr")
 };
 
 class ppdcFont                         //// Shared Font
@@ -200,6 +216,8 @@ class ppdcFont                              //// Shared Font
   ppdcFont(const char *n, const char *e, const char *v, const char *c,
            ppdcFontStatus s);
   ~ppdcFont();
+
+  PPDC_NAME("ppdcFont")
 };
 
 class ppdcChoice                       //// Option Choice
@@ -213,6 +231,8 @@ class ppdcChoice                    //// Option Choice
 
   ppdcChoice(const char *n, const char *t, const char *c);
   ~ppdcChoice();
+
+  PPDC_NAME("ppdcChoice")
 };
 
 class ppdcOption                       //// Option
@@ -233,6 +253,8 @@ class ppdcOption                    //// Option
   ppdcOption(ppdcOption *o);
   ~ppdcOption();
 
+  PPDC_NAME("ppdcOption")
+
   void         add_choice(ppdcChoice *c) { choices->add(c); }
   ppdcChoice   *find_choice(const char *n);
   void         set_defchoice(ppdcChoice *c);
@@ -251,6 +273,8 @@ class ppdcGroup                     //// Group of Options
   ppdcGroup(ppdcGroup *g);
   ~ppdcGroup();
 
+  PPDC_NAME("ppdcGroup")
+
   void         add_option(ppdcOption *o) { options->add(o); }
   ppdcOption   *find_option(const char *n);
 };
@@ -268,6 +292,8 @@ class ppdcConstraint                        //// Constraint
   ppdcConstraint(const char *o1, const char *c1, const char *o2,
                 const char *c2);
   ~ppdcConstraint();
+
+  PPDC_NAME("ppdcConstraint")
 };
 
 class ppdcFilter                       //// Filter Program
@@ -281,6 +307,8 @@ class ppdcFilter                    //// Filter Program
 
   ppdcFilter(const char *t, const char *p, int c);
   ~ppdcFilter();
+
+  PPDC_NAME("ppdcFilter")
 };
 
 class ppdcMediaSize                    //// Media Size
@@ -303,6 +331,8 @@ class ppdcMediaSize                 //// Media Size
                 float lm, float bm, float rm, float tm,
                const char *sc = 0, const char *rc = 0);
   ~ppdcMediaSize();
+
+  PPDC_NAME("ppdcMediaSize")
 };
 
 class ppdcProfile                      //// Color Profile
@@ -318,6 +348,8 @@ class ppdcProfile                   //// Color Profile
 
   ppdcProfile(const char *r, const char *m, float d, float g, const float *p);
   ~ppdcProfile();
+
+  PPDC_NAME("ppdcProfile")
 };
 
 class ppdcSource;
@@ -361,6 +393,8 @@ class ppdcDriver                    //// Printer Driver Data
   ppdcDriver(ppdcDriver *d = 0);
   ~ppdcDriver();
 
+  PPDC_NAME("ppdcDriver")
+
   void         add_attr(ppdcAttr *a) { attrs->add(a); }
   void         add_constraint(ppdcConstraint *c) { constraints->add(c); }
   void         add_copyright(const char *c) {
@@ -375,6 +409,7 @@ class ppdcDriver                    //// Printer Driver Data
   ppdcAttr     *find_attr(const char *k, const char *s);
   ppdcGroup    *find_group(const char *n);
   ppdcOption   *find_option(const char *n);
+  ppdcOption   *find_option_group(const char *n, ppdcGroup **mg);
 
   void         set_custom_size_code(const char *c);
   void         set_default_font(ppdcFont *f);
@@ -401,6 +436,8 @@ class ppdcVariable                  //// Variable Definition
   ppdcVariable(const char *n, const char *v);
   ~ppdcVariable();
 
+  PPDC_NAME("ppdcVariable")
+
   void         set_value(const char *v);
 };
 
@@ -408,6 +445,7 @@ class ppdcFile                              //// File
 {
   public:
 
+  bool         close_on_delete;        // Close file on delete?
   cups_file_t  *fp;                    // File pointer
   const char   *filename;              // Filename
   int          line;                   // Line in file
@@ -441,6 +479,8 @@ class ppdcSource                    //// Source File
   ppdcSource(const char *f = 0, cups_file_t *ffp = (cups_file_t *)0);
   ~ppdcSource();
 
+  PPDC_NAME("ppdcSource")
+
   static void  add_include(const char *d);
   ppdcDriver   *find_driver(const char *f);
   static char  *find_include(const char *f, const char *base, char *n,
@@ -485,7 +525,3 @@ class ppdcSource                    //// Source File
 
 
 #endif // !_PPDC_H_
-
-//
-// End of "$Id$".
-//