mirror of https://gitee.com/openkylin/cups.git
67 lines
916 B
C++
67 lines
916 B
C++
//
|
|
// 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 ++;
|
|
}
|