1// Licensed to the .NET Foundation under one or more agreements.
2// The .NET Foundation licenses this file to you under the MIT license.
3// See the LICENSE file in the project root for more information.
4// ============================================================
5//
6// AssemblyVersion.hpp
7//
8
9
10//
11// Defines the AssemblyVersion class
12//
13// ============================================================
14
15#ifndef __BINDER__ASSEMBLY_VERSION_HPP__
16#define __BINDER__ASSEMBLY_VERSION_HPP__
17
18#include "bindertypes.hpp"
19#include "textualidentityparser.hpp"
20
21namespace BINDER_SPACE
22{
23 class AssemblyVersion
24 {
25 private:
26 static const DWORD Unspecified = (DWORD)-1;
27 static const USHORT UnspecifiedShort = (USHORT)-1;
28
29 public:
30 inline AssemblyVersion();
31 inline ~AssemblyVersion();
32
33 inline BOOL HasMajor();
34 inline BOOL HasMinor();
35 inline BOOL HasBuild();
36 inline BOOL HasRevision();
37
38 inline DWORD GetMajor();
39 inline DWORD GetMinor();
40 inline DWORD GetBuild();
41 inline DWORD GetRevision();
42
43 inline void SetFeatureVersion(/* in */ DWORD dwMajor,
44 /* in */ DWORD dwMinor);
45 inline void SetServiceVersion(/* in */ DWORD dwBuild,
46 /* in */ DWORD dwRevision);
47 inline void SetVersion(AssemblyVersion *pAssemblyVersion);
48
49 inline BOOL Equals(AssemblyVersion *pAssemblyVersion);
50 private:
51 DWORD m_dwMajor;
52 DWORD m_dwMinor;
53 DWORD m_dwBuild;
54 DWORD m_dwRevision;
55 };
56
57#include "assemblyversion.inl"
58};
59
60#endif
61