Simple_images.cpp

Go to the documentation of this file.
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 ////////////////////////////////////////////////////////////////////////////////

Generated on Sat Nov 17 16:23:26 2007 for Image Processing Pipeline by  doxygen 1.4.6-NO