Developer Application Interface (ARC API) v4.5.8
ARC, Inc. GenIV Application Interface
CArcVersion.h
1// +------------------------------------------------------------------------------------------------------------------+
2// | FILE: CArcVersion.h ( GenIV ) |
3// +------------------------------------------------------------------------------------------------------------------+
4// | PURPOSE: This file defines the solution version number. |
5// | |
6// | AUTHOR: Scott Streit DATE: April 8, 2019 |
7// | |
8// | Copyright 2013 Astronomical Research Cameras, Inc. All rights reserved. |
9// +------------------------------------------------------------------------------------------------------------------+
12#pragma once
13
14#include <filesystem>
15#include <memory>
16#include <string>
17#include <vector>
18#include <future>
19
20#include <CArcVersionDllMain.h>
21
22
23namespace arc
24{
25 namespace gen4
26 {
27
32 using versionUpdateData_t = std::pair<float, std::int32_t>;
33
34
35 // +-------------------------------------------------------------------------------------------------------+
36 // | CArcVersion Class |
37 // +-------------------------------------------------------------------------------------------------------+
38
42 class GEN4_CARCVERSION_API CArcVersion final
43 {
44 public:
45
49 static const std::string solutionVersion( void ) noexcept;
50
54 static constexpr auto majorVersion( void ) noexcept
55 {
56 return MAJOR;
57 }
58
62 static constexpr auto minorVersion( void ) noexcept
63 {
64 return MINOR;
65 }
66
73 static const std::string releaseNotes( const std::filesystem::path& tFile );
74
81
88 static versionUpdateData_t checkForUpdate( const std::string&& sResourcePath );
89
90 private:
91
92 static auto constexpr MAJOR = 4.5f;
93 static auto constexpr MINOR = 8;
100 static void updateRunnable( const std::string&& sResourcePath, std::promise<versionUpdateData_t>* pUpdatePromise );
101 };
102
103 } // end gen4 namespace
104} // end arc namespace
static constexpr auto minorVersion(void) noexcept
Definition: CArcVersion.h:62
static const std::string solutionVersion(void) noexcept
static versionUpdateData_t checkForUpdate(void)
static const std::string releaseNotes(const std::filesystem::path &tFile)
static constexpr auto majorVersion(void) noexcept
Definition: CArcVersion.h:54
static versionUpdateData_t checkForUpdate(const std::string &&sResourcePath)
std::pair< float, std::int32_t > versionUpdateData_t
Definition: CArcVersion.h:32
Definition: CArcBase.h:50