CLProtocol 3.5.1
CVersion.h
1//-----------------------------------------------------------------------------
2// (c) 2008 by Basler Vision Technologies
3// Section: Vision Components
4// Project: GenApi
5// Author: Fritz Dierks
6// $Header$
7//
8// License: This file is published under the license of the EMVA GenICam Standard Group.
9// A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
10// If for some reason you are missing this file please contact the EMVA or visit the website
11// (http://www.genicam.org) for a full copy.
12//
13// THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
14// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
17// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23// POSSIBILITY OF SUCH DAMAGE.
24//-----------------------------------------------------------------------------
29#ifndef CLPROTOCOL_CVERSION_H
30#define CLPROTOCOL_CVERSION_H
31
32#include <Base/GCBase.h>
33#include <CLProtocol/CLProtocol.h>
34
35namespace CLProtocol
36{
37
39
40 class CLPROTOCOL_DECL CVersion
41 {
42 public:
45
47 CVersion(const CVersion& Version);
48
50 CVersion& operator=(const CVersion& Version);
51
53
59 bool FromString(const GENICAM_NAMESPACE::gcstring strVersion);
60
61 GENICAM_NAMESPACE::gcstring ToString();
62
64 bool operator>(const CVersion& Version) const;
65 bool operator<(const CVersion& Version) const;
66 bool operator==(const CVersion& Version) const;
67
68
69 protected:
71 int32_t m_Major;
72
74 int32_t m_Minor;
75
77 int32_t m_SubMinor;
78
79 };
80
81}
82#endif // CLPROTOCOL_CVERSION_H
83
Encapsulates a version number.
Definition CVersion.h:41
CVersion(const CVersion &Version)
Copy Constructor.
CVersion()
Constructor.
int32_t m_Major
Major version number; if changed backward compatiblitity is broken.
Definition CVersion.h:71
int32_t m_Minor
Minor version number; if changed backward compatiblitity is maintained.
Definition CVersion.h:74
bool operator>(const CVersion &Version) const
Comparison (for sorting)
int32_t m_SubMinor
SubMinor version number; bugfixes only - no new features.
Definition CVersion.h:77
bool FromString(const GENICAM_NAMESPACE::gcstring strVersion)
Parse a Version string.
CVersion & operator=(const CVersion &Version)
Copy Assignment.