00001 /* 00002 * Copyright 2006 Sony Computer Entertainment Inc. 00003 * 00004 * Licensed under the MIT Open Source License, for details please see license.txt or the website 00005 * http://www.opensource.org/licenses/mit-license.php 00006 * 00007 */ 00008 00009 #ifndef daeRefCountedObj_h 00010 #define daeRefCountedObj_h 00011 00012 #include <dae/daeTypes.h> 00013 #include <dae/daePlatform.h> 00014 00015 class DLLSPEC daeRefCountedObj { 00016 protected: 00017 mutable daeInt _refCount; 00018 00019 public: 00020 daeRefCountedObj(); 00021 virtual ~daeRefCountedObj(); 00022 00028 void release() const; 00029 00035 void ref() const; 00036 }; 00037 00038 void DLLSPEC checkedRelease(const daeRefCountedObj* obj); 00039 void DLLSPEC checkedRef(const daeRefCountedObj* obj); 00040 00041 #endif