]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - scheduler/policy.h
Fix another "new logging" bug for journald only this time (STR #4690)
[thirdparty/cups.git] / scheduler / policy.h
index 34502b18701e005f830f4804ed1c9ea20ec14bac..361271f2b0d8948024ac3805f751995df49e5d97 100644 (file)
@@ -1,26 +1,16 @@
 /*
  * "$Id$"
  *
- *   Policy definitions for the Common UNIX Printing System (CUPS)
- *   scheduler.
+ *   Policy definitions for the CUPS scheduler.
  *
+ *   Copyright 2007-2010 by Apple Inc.
  *   Copyright 1997-2005 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
- *   property of Easy Software Products 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 please contact Easy Software Products
- *   at:
- *
- *       Attn: CUPS Licensing Information
- *       Easy Software Products
- *       44141 Airport View Drive, Suite 204
- *       Hollywood, Maryland 20636 USA
- *
- *       Voice: (301) 373-9600
- *       EMail: cups-info@cups.org
- *         WWW: http://www.cups.org
+ *   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/".
  */
 
 
 typedef struct
 {
   char                 *name;          /* Policy name */
-  int                  num_ops;        /* Number of operations */
-  cupsd_location_t     **ops;          /* Operations */
+  cups_array_t         *job_access,    /* Private users/groups for jobs */
+                       *job_attrs,     /* Private attributes for jobs */
+                       *sub_access,    /* Private users/groups for subscriptions */
+                       *sub_attrs,     /* Private attributes for subscriptions */
+                       *ops;           /* Operations */
 } cupsd_policy_t;
 
+typedef struct cupsd_printer_s cupsd_printer_t;
+
 
 /*
  * Globals...
  */
 
-VAR int                        NumPolicies     VALUE(0);
-                                       /* Number of policies */
-VAR cupsd_policy_t     **Policies      VALUE(NULL);
+VAR cups_array_t       *Policies       VALUE(NULL);
                                        /* Policies */
 
 
@@ -59,6 +52,10 @@ extern http_status_t cupsdCheckPolicy(cupsd_policy_t *p, cupsd_client_t *con,
 extern void            cupsdDeleteAllPolicies(void);
 extern cupsd_policy_t  *cupsdFindPolicy(const char *policy);
 extern cupsd_location_t        *cupsdFindPolicyOp(cupsd_policy_t *p, ipp_op_t op);
+extern cups_array_t    *cupsdGetPrivateAttrs(cupsd_policy_t *p,
+                                             cupsd_client_t *con,
+                                             cupsd_printer_t *printer,
+                                             const char *owner);
 
 
 /*