Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cImageLoader Class Reference

#include <cImageLoader.h>

Inheritance diagram for GrayLib::cImageLoader:
Gray::cSingleton< cImageLoader > Gray::cSingletonStatic< TYPE > Gray::cSingletonRegister Gray::CObject Gray::cHeapObject Gray::IHeapObject

Public Member Functions

 cImageLoader ()
 
 ~cImageLoader ()
 
HRESULT LoadImageFile (cStreamInput &inp, const FILECHAR_t *pszFileExt, OUT cImageBasePtr &pImageRet) const
 
HRESULT LoadImageFile (const FILECHAR_t *pszFileName, OUT cImageBasePtr &pImageRet) const
 
 UNITTEST2_PREDEF (cImageLoader)
 
- Public Member Functions inherited from Gray::CObject
virtual ~CObject ()
 
virtual bool isValidCheck () const noexcept
 < memory allocation and structure definitions are valid. More...
 
virtual void AssertValid () const
 < memory allocation and structure definitions are valid. More...
 
virtual void Serialize (cArchive &a)
 
- Public Member Functions inherited from Gray::cHeapObject
 cHeapObject ()
 
virtual ~cHeapObject ()
 
bool IsValidInsideN (INT_PTR index) const
 
bool IsValidInsidePtr (void const *pTest) const
 
virtual size_t GetHeapStatsThis (OUT ITERATE_t &iAllocCount) const
 
virtual bool isValidCheck () const noexcept
 

Public Attributes

cArrayPtr< IImageCreatorm_aImageCreator
 array of Plugins/factories to load/create an image of a particular type. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Gray::cSingleton< cImageLoader >
static cImageLoader *__stdcall get_Single ()
 
static TYPE2 *__stdcall get_SingleT ()
 
static cImageLoader &__stdcall I ()
 
- Static Public Member Functions inherited from Gray::cSingletonStatic< TYPE >
static bool isSingleCreated () noexcept
 
static TYPEget_SingleU () noexcept
 
static TYPEget_Single ()
 
template<class TYPE2 >
static TYPE2 *__stdcall get_SingleCast ()
 
static TYPEI () noexcept
 
- Static Public Member Functions inherited from Gray::cSingletonRegister
static void __stdcall ReleaseModule (HMODULE hMod)
 
- Static Public Attributes inherited from Gray::cSingletonRegister
static cThreadLockFast sm_LockSingle
 common lock for all cSingleton. More...
 
- Protected Member Functions inherited from Gray::cSingleton< cImageLoader >
 cSingleton (cImageLoader *pObject, const TYPEINFO_t &rAddrCode=typeid(cImageLoader)) noexcept
 
virtual ~cSingleton ()
 
- Protected Member Functions inherited from Gray::cSingletonStatic< TYPE >
 cSingletonStatic (TYPE *pObject) noexcept
 
virtual ~cSingletonStatic () noexcept
 
- Protected Member Functions inherited from Gray::cSingletonRegister
 cSingletonRegister (const TYPEINFO_t &rAddrCode) noexcept
 
virtual ~cSingletonRegister ()
 
void RegisterSingleton ()
 
- Protected Member Functions inherited from Gray::cHeapObject
const void * get_HeapPtr () const noexcept override
 Get the top level (outermost, freeable) class pointer. I can delete get_HeapPtr(). More...
 
- Protected Attributes inherited from Gray::cSingletonRegister
HMODULE m_hModuleLoaded
 What modules loaded this ? So singletons can be destroyed if DLL/SO unloads. More...
 
- Static Protected Attributes inherited from Gray::cSingletonStatic< TYPE >
static TYPEsm_pThe = nullptr
 pointer to the one and only object of this TYPE. ASSUME automatically init to = nullptr. More...
 

Detailed Description

Deal with Plugins to load images of various file format types. TODO Should we do caching? Track Time since last load ?

Constructor & Destructor Documentation

◆ cImageLoader()

GrayLib::cImageLoader::cImageLoader ( )

◆ ~cImageLoader()

GrayLib::cImageLoader::~cImageLoader ( )

Member Function Documentation

◆ LoadImageFile() [1/2]

HRESULT GrayLib::cImageLoader::LoadImageFile ( const FILECHAR_t pszFileName,
OUT cImageBasePtr pImageRet 
) const

Load a file of an unknown type. try to figure out the type by trying all the types i know. call m_aImageCreator IImageCreator for each type. and test load.

◆ LoadImageFile() [2/2]

HRESULT GrayLib::cImageLoader::LoadImageFile ( cStreamInput inp,
const FILECHAR_t pszFileExt,
OUT cImageBasePtr pImageRet 
) const

call m_aImageCreator IImageCreator for each type. and test load.

◆ UNITTEST2_PREDEF()

GrayLib::cImageLoader::UNITTEST2_PREDEF ( cImageLoader  )

Member Data Documentation

◆ m_aImageCreator

cArrayPtr<IImageCreator> GrayLib::cImageLoader::m_aImageCreator

array of Plugins/factories to load/create an image of a particular type.


The documentation for this class was generated from the following files: