1#ifndef TENDUKE_SE_LICENSING_SIMPLELEASES_H
2#define TENDUKE_SE_LICENSING_SIMPLELEASES_H
4#include "../api/MutableLeases.h"
11namespace tenduke {
namespace se {
namespace licensing {
21 std::vector<::tenduke::se::licensing::Lease>
getAllLeases()
override;
23 std::vector<::tenduke::se::licensing::Lease>
getLeasesForProduct(
const std::string &productName)
override;
27 void addLease(const ::tenduke::se::licensing::Lease &lease)
override;
28 void mergeLeases(
const std::vector<::tenduke::se::licensing::Lease> &
leases)
override;
30 void removeLease(const ::tenduke::se::licensing::Lease &lease)
override;
31 void removeLease(
const std::string &leaseId)
override;
35 std::map<std::string, ::tenduke::se::licensing::Lease>
leases;
Lease of a license.
Definition Lease.h:17
Service, which extends the readonly cache tenduke::se::licensing::Leases with maintenance operations.
Definition MutableLeases.h:15
Base implementation of tenduke::se::licensing::MutableLeases.
Definition SimpleLeases.h:17
std::vector<::tenduke::se::licensing::Lease > getLeasesForProduct(const std::string &productName) override
Returns all leases for given product.
Definition SimpleLeases.cpp:32
void removeLease(const ::tenduke::se::licensing::Lease &lease) override
Removes given lease from the cache.
Definition SimpleLeases.cpp:63
::tenduke::se::licensing::Lease getLease(const std::string &leaseId) override
Returns a lease by id.
Definition SimpleLeases.cpp:25
std::vector<::tenduke::se::licensing::Lease > getAllLeases() override
Returns all leases in the cache.
Definition SimpleLeases.cpp:13
void removeAll() override
Removes all leases from the cache.
Definition SimpleLeases.cpp:77
std::recursive_mutex concurrencyLock
Serializes the access to the methods.
Definition SimpleLeases.h:37
void addLease(const ::tenduke::se::licensing::Lease &lease) override
Adds a lease to the cache.
Definition SimpleLeases.cpp:45
std::map< std::string, ::tenduke::se::licensing::Lease > leases
The leases.
Definition SimpleLeases.h:35
void mergeLeases(const std::vector<::tenduke::se::licensing::Lease > &leases) override
Merges given leases to the cache.
Definition SimpleLeases.cpp:53
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7