]> git.ipfire.org Git - thirdparty/cups.git/blame_incremental - ppdc/ppdc-shared.cxx
Import changes from CUPS 1.4.1 (r8801)
[thirdparty/cups.git] / ppdc / ppdc-shared.cxx
... / ...
CommitLineData
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
34ppdcShared::ppdcShared()
35{
36 use = 1;
37}
38
39
40//
41// 'ppdcShared::~ppdcShared()' - Destroy shared data.
42//
43
44ppdcShared::~ppdcShared()
45{
46}
47
48
49//
50// 'ppdcShared::release()' - Decrement the use count and delete as needed.
51//
52
53void
54ppdcShared::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
77void
78ppdcShared::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//