Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cFileVer.h
Go to the documentation of this file.
1 //
5 //
6 #ifndef _INC_cFileVer_H
7 #define _INC_cFileVer_H
8 #ifndef NO_PRAGMA_ONCE
9 #pragma once
10 #endif
11 
12 #include "../GrayLibBase.h"
16 
17 namespace GrayLib
18 {
20  : public IIniObjectWriteN
21  {
27 
28  public:
29  enum P_TYPE_
30  {
31  P_QTY = 6,
32  };
33  static const char* const k_Props[P_QTY + 1];
34 
36 
37  // VERSION resource. Ignore Language??
38  // Use cIniSectionData to hold tags ?
45 
46  // VS_FIXEDFILEINFO m_ver; //!< Binary version blob. TODO: Get this too ?? _FNF(::VerQueryValue)(_FN("\\"))
47  DWORD m_dwFileVersionMS; /* e.g. 0x00030075 = "3.75" */
48  DWORD m_dwFileVersionLS; /* e.g. 0x00000031 = "0.31" */
49 
50  public:
51  cFileVer(void);
52  virtual ~cFileVer(void);
53 
54  static UINT32 GRAYCALL MakeVersionNum(const char* pszFileVersion, size_t iBytes = sizeof(UINT32));
55 
56  HRESULT ReadFileVer(const FILECHAR_t* pszFilePath);
57 #ifdef _WIN32
58  HRESULT ReadCOMClassVer(const GUID& rguidCLSID);
59 #endif
60 
61  virtual HRESULT PropSetN(IPROPIDX_t ePropIdx, const char* pszValue);
62  // HRESULT PropEnum( IPROPIDX_t ePropIdx, OUT cStringT<IniChar_t>& rsVal, cStringI* psKey );
63 
65  };
66 };
67 
68 #endif // _INC_cFileVer_H
#define GRAYCALL
declare calling convention for static functions so everyone knows the arg passing scheme....
Definition: GrayCore.h:36
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
Definition: cFileVer.h:21
UNITTEST_FRIEND(cFileVer)
cStringF m_sFilePath
full path for the file.
Definition: cFileVer.h:35
cStringA m_sCompanyName
"CompanyName", // GRAY_COMPANY
Definition: cFileVer.h:39
cStringA m_sLegalCopyright
"LegalCopyright", // GRAY_COPYRIGHT
Definition: cFileVer.h:44
DWORD m_dwFileVersionMS
Definition: cFileVer.h:47
P_TYPE_
Definition: cFileVer.h:30
cStringA m_sProductName
"ProductName",
Definition: cFileVer.h:42
cStringA m_sFileVersion
"FileVersion", // GRAY_VERSION_S
Definition: cFileVer.h:41
cStringA m_sProdVersion
"ProductVersion", // GRAY_VERSION_S
Definition: cFileVer.h:43
DWORD m_dwFileVersionLS
Definition: cFileVer.h:48
cStringA m_sFileDescription
"FileDescription",
Definition: cFileVer.h:40
Definition: cMesh.h:22
char FILECHAR_t
a UTF8 char in a file name. like TCHAR
Definition: FileName.h:22
int IPROPIDX_t
enumerate known properties for some interface/object/class. similar to SCRIPTPROPID_t
Definition: cIniBase.h:16
Definition: cIniObject.h:30
Definition: IUnknown.h:34