00001 /* 00002 * This file contains class that represents working class inside 00003 * TSimpleUnit and returns 00004 * 00005 * IMAGES 00006 * 00007 * value. Returned class 00008 * is derived from 00009 * 00010 * TUnitRetType_images 00011 * 00012 * class. 00013 * 00014 * Author: 00015 * Tomas Mrkvicka 00016 * xmrkvi03@stud.fit.vutbr.cz 00017 * 00018 */ 00019 #include "simpleunit/Simple_images.h" 00020 00021 //definice staticke slozky pro manager 00022 DWORD TManager<TUnitRetType_images_rgb_implemented>::ms_alloc_count = 0; 00023 00024 //////////////////////////////////////////////////////////////////////////////// 00025 //////////////////////////////////////////////////////////////////////////////// 00026 //////////////////////////////////////////////////////////////////////////////// 00027 // TUnitRetType_images_rgb_implemented 00028 00029 /** Snizeni poctu referenci. 00030 * 00031 * Jakmile pocet referenci dosahne 0 je objekt okamzite smazan, resp. vracen 00032 * rodicovske jednotce. 00033 */ 00034 void TUnitRetType_images_rgb_implemented::Release(void) 00035 { 00036 m_cs.Enter(); 00037 m_refs--; 00038 DWORD tmp_refs = m_refs; 00039 m_cs.Leave(); 00040 00041 if ( tmp_refs == 0 ) 00042 { 00043 //objekt je uvolnen 00044 m_parent->ReturnObject( this ); 00045 } 00046 } 00047 //OK 2007-08-26 00:21:29 B04-315B\Tom 00048 00049 // TUnitRetType_images_rgb_implemented 00050 //////////////////////////////////////////////////////////////////////////////// 00051 //////////////////////////////////////////////////////////////////////////////// 00052 //////////////////////////////////////////////////////////////////////////////// 00053 // TSimpleUnitProcessingInterface_images_rgb 00054 00055 /** Tato metoda uvolni vsechny vysledky. 00056 * 00057 * Tyto vysledky drzi reference na objekty z cizich objektu a proto je potreba je odstranit. 00058 */ 00059 void TSimpleUnitProcessingInterface_images_rgb::FreeImageResults(void) 00060 { 00061 while( ! m_results.empty() ) 00062 { 00063 m_results.back()->Release(); 00064 m_results.pop_back(); 00065 } 00066 } 00067 00068 // TSimpleUnitProcessingInterface_images_rgb 00069 //////////////////////////////////////////////////////////////////////////////// 00070 //////////////////////////////////////////////////////////////////////////////// 00071 ////////////////////////////////////////////////////////////////////////////////