| // |
| // Shared data class for the CUPS PPD Compiler. |
| // |
| // Copyright 2007-2009 by Apple Inc. |
| // Copyright 2002-2005 by Easy Software Products. |
| // |
| // Licensed under Apache License v2.0. See the file "LICENSE" for more information. |
| // |
| |
| // |
| // Include necessary headers... |
| // |
| |
| #include "ppdc-private.h" |
| |
| |
| // |
| // 'ppdcShared::ppdcShared()' - Create shared data. |
| // |
| |
| ppdcShared::ppdcShared() |
| { |
| use = 1; |
| } |
| |
| |
| // |
| // 'ppdcShared::~ppdcShared()' - Destroy shared data. |
| // |
| |
| ppdcShared::~ppdcShared() |
| { |
| } |
| |
| |
| // |
| // 'ppdcShared::release()' - Decrement the use count and delete as needed. |
| // |
| |
| void |
| ppdcShared::release(void) |
| { |
| use --; |
| |
| #ifdef DEBUG |
| if (use < 0) |
| { |
| fprintf(stderr, "ERROR: Over-release of %s: %p\n", class_name(), this); |
| abort(); |
| } |
| #endif /* DEBUG */ |
| |
| if (use == 0) |
| delete this; |
| } |
| |
| |
| // |
| // 'ppdcShared::retain()' - Increment the use count for this data. |
| // |
| |
| void |
| ppdcShared::retain() |
| { |
| use ++; |
| } |