Revert manifest to default one
[external/cups.git] / ppdc / ppdc-shared.cxx
1 //
2 // "$Id: ppdc-shared.cxx 8694 2009-06-05 16:47:19Z mike $"
3 //
4 //   Shared data class for the CUPS PPD Compiler.
5 //
6 //   Copyright 2007-2009 by Apple Inc.
7 //   Copyright 2002-2005 by Easy Software Products.
8 //
9 //   These coded instructions, statements, and computer programs are the
10 //   property of Apple Inc. and are protected by Federal copyright
11 //   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
12 //   which should have been included with this file.  If this file is
13 //   file is missing or damaged, see the license at "http://www.cups.org/".
14 //
15 // Contents:
16 //
17 //   ppdcShared::ppdcShared()  - Create shared data.
18 //   ppdcShared::~ppdcShared() - Destroy shared data.
19 //   ppdcShared::release()     - Decrement the use count and delete as needed.
20 //   ppdcShared::retain()      - Increment the use count for this data.
21 //
22
23 //
24 // Include necessary headers...
25 //
26
27 #include "ppdc-private.h"
28
29
30 //
31 // 'ppdcShared::ppdcShared()' - Create shared data.
32 //
33
34 ppdcShared::ppdcShared()
35 {
36   use = 1;
37 }
38
39
40 //
41 // 'ppdcShared::~ppdcShared()' - Destroy shared data.
42 //
43
44 ppdcShared::~ppdcShared()
45 {
46 }
47
48
49 //
50 // 'ppdcShared::release()' - Decrement the use count and delete as needed.
51 //
52
53 void
54 ppdcShared::release(void)
55 {
56   DEBUG_printf(("%s: %p release use=%d", class_name(), this, use));
57
58   use --;
59
60 #ifdef DEBUG
61   if (use < 0)
62   {
63     fprintf(stderr, "ERROR: Over-release of %s: %p\n", class_name(), this);
64     abort();
65   }
66 #endif /* DEBUG */
67
68   if (use == 0)
69     delete this;
70 }
71
72
73 //
74 // 'ppdcShared::retain()' - Increment the use count for this data.
75 //
76
77 void
78 ppdcShared::retain()
79 {
80   use ++;
81
82   DEBUG_printf(("%s: %p retain use=%d", class_name(), this, use));
83 }
84
85
86 //
87 // End of "$Id: ppdc-shared.cxx 8694 2009-06-05 16:47:19Z mike $".
88 //