UnitLoader.h

Go to the documentation of this file.
00001 /*
00002 *        This file contains class that helps you load working unit from DLL.
00003 *
00004 *       Author:
00005 *                       Tomas Mrkvicka
00006 *                       xmrkvi03@stud.fit.vutbr.cz
00007 *
00008 */
00009 
00010 #include <windows.h>
00011 
00012 //FORWARD DECLARATIONS
00013 namespace NSPipeline
00014 {
00015         class TUnitLoader;
00016 };
00017 
00018 #ifndef _PIPELINE_UNITLOADER_HH_
00019 #define _PIPELINE_UNITLOADER_HH_
00020 
00021 #include "pipeline/Unit.h"
00022 
00023 namespace NSPipeline
00024 {
00025 
00026 ////////////////////////////////////////////////////////////////////////////////
00027 ////////////////////////////////////////////////////////////////////////////////
00028 ////////////////////////////////////////////////////////////////////////////////
00029 // TUnitLoader
00030 
00031 /** Tato trida nacte pracovni jednotku ze zadane DLL.
00032 *
00033 *       Vytvoreny objekt v sobe udrzuje nactenou DLL.
00034 *
00035 *       Jakmile objekt vrati jednotku pak je tato ulozena a je vracena vzdy.
00036 *
00037 *       Pred znicenim tohoto objektu musi byt jednotka jim vytvorena take znicena.
00038 */
00039 class TUnitLoader
00040 {
00041 //PUBLIC METHODS
00042 public:
00043                                                         TUnitLoader(void);
00044                                                         ~TUnitLoader(void);     
00045                 
00046         TUnitInterface*                 GetUnit_BASIC( const char * dllName, TDispatcherInterface * dispatcher );
00047         TUnitInterface*                 GetUnit_STRING( const char * dllName, TDispatcherInterface * dispatcher, const char * str );
00048 
00049 //PROTECTED FAKE METHODS
00050 protected:
00051                                                         TUnitLoader( const TUnitLoader & orig );        ///< falesny kopirovaci konstruktor
00052         void                                    operator=( const TUnitLoader & orig );          ///< falesny prirazovaci operator
00053 
00054 
00055 //PRIVATE COMPONENTS
00056 private:
00057         TUnitInterface*                 m_unit;                 ///< vracena jednotka z DLL
00058         HMODULE                                 m_library;              ///< pouzita knihovna
00059 };
00060 //OK 2007-08-25 18:22:45 B04-315B\Tom
00061 
00062 // TUnitLoader
00063 ////////////////////////////////////////////////////////////////////////////////
00064 ////////////////////////////////////////////////////////////////////////////////
00065 ////////////////////////////////////////////////////////////////////////////////
00066 
00067 }; //END of NSPipeline
00068 using namespace NSPipeline;
00069 
00070 #endif

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