]> git.ipfire.org Git - thirdparty/cups.git/blob - ppdc/ppdc-shared.cxx
Import changes from CUPS 1.5svn-r9085.
[thirdparty/cups.git] / ppdc / ppdc-shared.cxx
1 //
2 // "$Id$"
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$".
88 //