00001 /* 00002 * This file contains class that represents working class inside 00003 * TSimpleUnit and returns 00004 * 00005 * RECTANGLES 00006 * 00007 * value. Returned class 00008 * is derived from 00009 * 00010 * TUnitRetType_rectangles 00011 * 00012 * class. 00013 * 00014 * Author: 00015 * Tomas Mrkvicka 00016 * xmrkvi03@stud.fit.vutbr.cz 00017 * 00018 */ 00019 00020 #include "simpleunit/Simple_rectangles.h" 00021 00022 //definice staticke slozky pro manager 00023 DWORD TManager<TUnitRetType_rectangles_implemented>::ms_alloc_count = 0; 00024 00025 //////////////////////////////////////////////////////////////////////////////// 00026 //////////////////////////////////////////////////////////////////////////////// 00027 //////////////////////////////////////////////////////////////////////////////// 00028 // TUnitRetType_rectangles_implemented 00029 00030 /** Snizeni poctu referenci. 00031 * 00032 * Jakmile pocet referenci dosahne 0 je objekt okamzite smazan, resp. vracen 00033 * rodicovske jednotce. 00034 */ 00035 void TUnitRetType_rectangles_implemented::Release(void) 00036 { 00037 m_cs.Enter(); 00038 m_refs--; 00039 DWORD tmp_refs = m_refs; 00040 m_cs.Leave(); 00041 00042 if ( tmp_refs == 0 ) 00043 { 00044 //objekt je uvolnen 00045 m_parent->ReturnObject( this ); 00046 } 00047 } 00048 //OK 2007-08-26 00:02:23 B04-315B\Tom 00049 00050 // TUnitRetType_rectangles_implemented 00051 //////////////////////////////////////////////////////////////////////////////// 00052 //////////////////////////////////////////////////////////////////////////////// 00053 ////////////////////////////////////////////////////////////////////////////////