"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSGraphicsLib/Src/DirectX/LSGDirectX9LosableResourceManager.h

00001 
00019 #ifndef __LSG_DIRECTX9LOSABLERESOURCEMANAGER_H__
00020 #define __LSG_DIRECTX9LOSABLERESOURCEMANAGER_H__
00021 
00022 #include "../LSGGraphicsLib.h"
00023 
00024 #ifdef LSG_DX9
00025 
00026 #include "CriticalSection/LSHCriticalSection.h"
00027 #include "LSGDirectX9LosableResource.h"
00028 #include "Vector/LSTLVectorPoD.h"
00029 
00030 namespace lsg {
00031 
00041         class CDirectX9LosableResourceManager {
00042         public :
00043                 // == Functions.
00047                 static LSVOID LSE_CALL                                                                  Destroy();
00048 
00057                 static LSBOOL LSE_CALL                                                                  RegisterRes( CDirectX9LosableResource * _plrRes );
00058 
00064                 static LSVOID LSE_CALL                                                                  RemoveRes( LSUINT32 _ui32Id );
00065 
00069                 static LSVOID LSE_CALL                                                                  OnLostDevice();
00070 
00074                 static LSVOID LSE_CALL                                                                  OnResetDevice();
00075 
00081                 static LSUINT32 LSE_CALL                                                                GetLosableResCount();
00082 
00083 
00084         protected :
00085                 // == Members.
00089                 static CVectorPoD<CDirectX9LosableResource *, LSUINT32> m_vResources;
00090 
00094                 static LSUINT32                                                                                 m_ui32ResId;
00095 
00099                 static CCriticalSection                                                                 m_csCrit;
00100         };
00101 
00102 }       // namespace lsg
00103 
00104 #endif  // #ifdef LSG_DX9
00105 
00106 #endif  // __LSG_DIRECTX9LOSABLERESOURCEMANAGER_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator