Rev 2066 Rev 3120
1 /******************** (C) COPYRIGHT 2009 STMicroelectronics ******************** 1 /******************** (C) COPYRIGHT 2009 STMicroelectronics ********************
2 * File Name : Image.h 2 * File Name : Image.h
3 * Author : MCD Application Team 3 * Author : MCD Application Team
4 * Version : v2.1.0 4 * Version : v2.1.0
5 * Date : 11/02/2009 5 * Date : 11/02/2009
6 * Description : Defines the CImage class interface 6 * Description : Defines the CImage class interface
7 ******************************************************************************** 7 ********************************************************************************
8 * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 8 * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
9 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 9 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
10 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 10 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
11 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 11 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
12 * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 12 * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
13 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 13 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
14 *******************************************************************************/ 14 *******************************************************************************/
15   15  
16 #ifndef _IMAGE_H_ 16 #ifndef _IMAGE_H_
17 #define _IMAGE_H_ 17 #define _IMAGE_H_
18   18  
19 class CImage : public CObject 19 class CImage : public CObject
20 { 20 {
21 private: 21 private:
22 char m_LastError[1000]; 22 char m_LastError[1000];
23 BYTE m_bAlternate; 23 BYTE m_bAlternate;
24 CPtrArray *m_pElements; 24 CPtrArray *m_pElements;
25 BOOL m_ImageState; 25 BOOL m_ImageState;
26 BOOL m_bNamed; 26 BOOL m_bNamed;
27 char m_Name[255]; 27 char m_Name[255];
28   28  
29 BOOL LoadS19(PSTR pFilePath); 29 BOOL LoadS19(PSTR pFilePath);
30 BOOL LoadHEX(PSTR pFilePath); 30 BOOL LoadHEX(PSTR pFilePath);
31 BOOL LoadBIN(PSTR pFilePath); 31 BOOL LoadBIN(PSTR pFilePath);
32   32  
33 BOOL SaveS19(PSTR pFilePath); 33 BOOL SaveS19(PSTR pFilePath);
34 BOOL SaveHEX(PSTR pFilePath); 34 BOOL SaveHEX(PSTR pFilePath);
35   35  
36 void LDisplayError(PSTR Str) { lstrcpy(m_LastError, Str); } 36 void LDisplayError(PSTR Str) { lstrcpy(m_LastError, Str); }
37 BOOL ExistsElementsAtAddress(DWORD Address); 37 BOOL ExistsElementsAtAddress(DWORD Address);
38 38
39 void CompactElements(); 39 void CompactElements();
40 public: 40 public:
41 CImage(CImage *pSource); 41 CImage(CImage *pSource);
42 CImage(BYTE bAlternate, BOOL bNamed, PSTR Name); 42 CImage(BYTE bAlternate, BOOL bNamed, PSTR Name);
43 CImage(PMAPPING pMapping, BOOL bNamed, PSTR Name); 43 CImage(PMAPPING pMapping, BOOL bNamed, PSTR Name);
44 CImage(BYTE bAlternate, PSTR pFilePath, BOOL bNamed, PSTR Name); 44 CImage(BYTE bAlternate, PSTR pFilePath, BOOL bNamed, PSTR Name);
45 virtual ~CImage(); 45 virtual ~CImage();
46   46  
47 BOOL DumpToFile(PSTR pFilePath); 47 BOOL DumpToFile(PSTR pFilePath);
48 BYTE GetAlternate() { return m_bAlternate; } 48 BYTE GetAlternate() { return m_bAlternate; }
49 BOOL GetImageState() { return m_ImageState; } 49 BOOL GetImageState() { return m_ImageState; }
50 BOOL GetName(PSTR Name) { if (m_bNamed) lstrcpy(Name, m_Name); return m_bNamed; } 50 BOOL GetName(PSTR Name) { if (m_bNamed) lstrcpy(Name, m_Name); return m_bNamed; }
51 void SetName(PSTR Name) { lstrcpy(m_Name, Name); m_bNamed=TRUE; } 51 void SetName(PSTR Name) { lstrcpy(m_Name, Name); m_bNamed=TRUE; }
52 BOOL GetBuffer(DWORD dwAddress, DWORD dwSize, PBYTE pBuffer); 52 BOOL GetBuffer(DWORD dwAddress, DWORD dwSize, PBYTE pBuffer);
53   53  
54 DWORD GetNbElements() { return m_pElements->GetSize(); } 54 DWORD GetNbElements() { return m_pElements->GetSize(); }
55 BOOL SetImageElement(DWORD dwRank, BOOL bInsert, IMAGEELEMENT Element); 55 BOOL SetImageElement(DWORD dwRank, BOOL bInsert, IMAGEELEMENT Element);
56 BOOL GetImageElement(DWORD dwRank, PIMAGEELEMENT pElement); 56 BOOL GetImageElement(DWORD dwRank, PIMAGEELEMENT pElement);
57 BOOL FilterImageForOperation(PMAPPING pMapping, DWORD Operation, BOOL bTruncateLeadFF); 57 BOOL FilterImageForOperation(PMAPPING pMapping, DWORD Operation, BOOL bTruncateLeadFF);
58 BOOL DestroyImageElement(DWORD dwRank); 58 BOOL DestroyImageElement(DWORD dwRank);
59 }; 59 };
60   60  
61 #endif 61 #endif
62   62  
63 /******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE******/ 63 /******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE******/