CameraLoader.h

Go to the documentation of this file.
00001 /*
00002 *        This file contains class that helps you load camera 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 TCameraLoader;
00016 };
00017 
00018 #ifndef _PIPELINE_CAMERALOADER_HH_
00019 #define _PIPELINE_CAMERALOADER_HH_
00020 
00021 #include "pipeline/CameraAbstract.h"
00022 
00023 namespace NSPipeline
00024 {
00025 
00026 ////////////////////////////////////////////////////////////////////////////////
00027 ////////////////////////////////////////////////////////////////////////////////
00028 ////////////////////////////////////////////////////////////////////////////////
00029 // TCameraLoader
00030 
00031 /** Tato trida nacte kameru ze zadane DLL.
00032 *
00033 *       Vytvoreny objekt v sobe udrzuje nactenou DLL.
00034 *       Jakmile objekt vrati kameru pak je tato ulozena a je vracena vzdy.
00035 *       Pred znicenim tohoto objektu musi byt kamera jim vytvorena take znicena pomoci metody Destroy().
00036 *
00037 *       \note   Kameru lze nacist i beznym zpusobem, pouziti tohoto objektu pouze usnadnuje
00038 *                       nacitani.
00039 */
00040 class TCameraLoader
00041 {
00042 //PUBLIC METHODS
00043 public:
00044                                                         TCameraLoader(void);
00045                                                         ~TCameraLoader(void);
00046 
00047         TCameraAbstract*                GetCamera_DirectShow( const char * dllName );
00048         TCameraAbstract*                GetCamera_Image( const char * dllName, const char * filename );
00049         TCameraAbstract*                GetCamera_Video( const char * dllName, const char * filename );
00050         TCameraAbstract*                GetCamera_Null( const char * dllName);
00051 
00052 //PRIVATE FAKE METHODS
00053 private:
00054                                                         TCameraLoader( const TCameraLoader & orig );///< falesny kopirovaci konstruktor
00055         void                                    operator=( const TCameraLoader & orig );        ///< falesny operator prirazeni
00056 
00057 
00058 //PRIVATE COMPONENTS
00059 private:
00060         TCameraAbstract*                m_camera;               ///< vracena kamera
00061         HMODULE                                 m_library;              ///< pouzita knihovna
00062 };
00063 //OK 2007-08-25 15:27:32 B04-315B\Tom
00064 
00065 // TCameraLoader
00066 ////////////////////////////////////////////////////////////////////////////////
00067 ////////////////////////////////////////////////////////////////////////////////
00068 ////////////////////////////////////////////////////////////////////////////////
00069 
00070 }; //END of NSPipeline
00071 using namespace NSPipeline;
00072 
00073 #endif

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