Guiliani  Version 2.5 revision 7293 (documentation build 13)
GUIGeneralResourceManager.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifndef __GUIGENERALRESOURCEMANAGER_H__
11#define __GUIGENERALRESOURCEMANAGER_H__
12
13#include "eC_Types.h"
14#include "eC_File.h"
15#include "eC_String.h"
16#include "GUIRefCntPtr.h"
17#include "GUIGeneralResource.h"
18
19#include "GUIComponentManager.h"
20
24{
25public:
28 virtual void OnResourceChange() = 0;
29};
30
52{
53public:
55
68 virtual void Interpret(eC_File* pkFile) = 0;
69};
70
72#define GETGENERALRESMANAGER CGUIComponentManager::GetInstance().GetGeneralResourceManager()
73
88{
89 friend class CGUIResourceManager;
90 friend class CGUIComponentManager;
91
92public:
94 static void CreateInstance();
95
97 static void DeleteInstance();
98
111 GeneralResource_t eResourceID,
112 CGUIGeneralResourceInterpreter& rkInterpreter);
113
119 eC_UInt GetNOFResources() const;
120
125 void AddObserver(const GeneralResource_t& eResourceID, CGUIGeneralResourceObserver* pkObserver);
126
131 void RemoveObserver(const GeneralResource_t& eResourceID, CGUIGeneralResourceObserver* pkObserver);
132
133private:
140 eC_Bool SetNOFResources(eC_UInt uiNOFResources);
141
153 void LoadResource(
154 const eC_String& rkPath,
156
162 void UnloadResource(GeneralResource_t eID);
163
168
170
176 class CGUIGeneralResourceData
177 {
178 public:
180 typedef NSmartPtr::CGUIRefCntPtr<eC_File> PeC_File;
181
188 CGUIGeneralResourceData(const eC_String& rkPath);
189
193 ~CGUIGeneralResourceData();
194
196 PeC_File GetFile();
197
198 private:
204 CGUIGeneralResourceData(const CGUIGeneralResourceData& kSource);
205
206 private:
208 eC_UByte* m_pkData;
210 eC_UInt m_uiDataSize;
211
212 eC_Bool m_bAllocatedMemory;
213 };
214
216 typedef NSmartPtr::CGUIRefCntPtr<CGUIGeneralResourceData> PGUIGeneralResourceData;
217
218 struct LoadedResources
219 {
220 PGUIGeneralResourceData pkData;
222 };
223
224private:
226 eC_TArray<LoadedResources> m_apResources;
227};
228
229#endif
Helper Macros in Guiliani
GeneralResource_t
List of general resource ids.
Definition: GUIGeneralResource.h:52
central component-manager
Definition: GUIComponentManager.h:62
Interpreter for general resources.
Definition: GUIGeneralResourceManager.h:52
virtual void Interpret(eC_File *pkFile)=0
Singleton of general resource file manager.
Definition: GUIGeneralResourceManager.h:88
void AddObserver(const GeneralResource_t &eResourceID, CGUIGeneralResourceObserver *pkObserver)
static void CreateInstance()
Create the class.
eC_UInt GetNOFResources() const
static void DeleteInstance()
Deletes the class and clears the internal pointer.
void ApplyInterpreter(GeneralResource_t eResourceID, CGUIGeneralResourceInterpreter &rkInterpreter)
void RemoveObserver(const GeneralResource_t &eResourceID, CGUIGeneralResourceObserver *pkObserver)
Definition: GUIGeneralResourceManager.h:24
virtual void OnResourceChange()=0
Manages resource ID mappings for fonts, images, sounds, etc.
Definition: GUIResourceManager.h:111
The Guiliani reference counted pointer class.
Definition: GUIRefCntPtr.h:76