Banuba SDK
license_manager.hpp
Go to the documentation of this file.
1 /// \file
2 /// \addtogroup LicenseUtils
3 /// @{
4 ///
5 // AUTOGENERATED FILE - DO NOT MODIFY!
6 // This file was generated by Djinni from license_utils.djinni
7 
8 #pragma once
9 
10 #include <bnb/utils/defs.hpp>
11 #include <memory>
12 #include <string>
13 
14 namespace bnb { namespace interfaces {
15 
16 enum class license_status;
17 
18 /** This class incapsulates information about Client Token. */
19 class BNB_EXPORT license_manager {
20 public:
21  virtual ~license_manager() {}
22 
23  /** Creates *new* `LicenceManager`. This metod won't change Banuba SDK internal state. */
24  static std::shared_ptr<license_manager> create(const std::string & client_token);
25 
26  /**
27  * Returns the instance used by Banuba SDK to check licence.
28  * This istance was created by `UtilityManager.initialize`.
29  */
30  static std::shared_ptr<license_manager> instance();
31 
32  /** Checks if Client Token is expired. */
33  virtual license_status is_expired() const = 0;
34 
35  /** Returns decoded content of Client Token */
36  virtual std::string get_json() const = 0;
37 
38  /** Returns hash of Client Token */
39  virtual std::string get_checksum() const = 0;
40 };
41 
42 } } // namespace bnb::interfaces
43 /// @}
44 
bnb::interfaces::license_manager
This class incapsulates information about Client Token.
Definition: license_manager.hpp:19