You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
916 B
67 lines
916 B
4 months ago
|
//
|
||
|
// 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 ++;
|
||
|
}
|