Scarab  v3.2.3
Project 8 C++ Utility Library
version_ifc.hh
Go to the documentation of this file.
1 /*
2  * version_ifc.hh
3  *
4  * Created on: Jul 23, 2018
5  * Author: N.S. Oblath
6  */
7 
8 #ifndef SCARAB_VERSION_IFC_HH_
9 #define SCARAB_VERSION_IFC_HH_
10 
11 #include "scarab_api.hh"
12 
13 #include <string>
14 
15 namespace scarab
16 {
17 
19  {
20  public:
21  version_ifc();
22  version_ifc( const version_ifc& );
23  virtual ~version_ifc();
24 
25  version_ifc& operator=( const version_ifc& );
26 
27  virtual unsigned major_version() const = 0;
28  virtual unsigned minor_version() const = 0;
29  virtual unsigned patch_version() const = 0;
30 
31  virtual const std::string& version_str() const = 0;
32 
33  virtual const std::string& package() const = 0;
34  virtual const std::string& commit() const = 0;
35 
36  virtual const std::string& exe_name() const = 0;
37  virtual const std::string& hostname() const = 0;
38  virtual const std::string& username() const = 0;
39 
40  virtual std::string version_info_string() const = 0;
41  };
42 
43 } /* namespace scarab */
44 
45 #endif /* SCARAB_VERSION_IFC_HH_ */
#define SCARAB_API
Definition: scarab_api.hh:24