gcontini
2020-01-11 95d1452eefadffaf1ec75dd0a8336bc2c387eb17
src/library/pc_identifier/identification_strategy.hpp
@@ -9,18 +9,25 @@
#define SRC_LIBRARY_PC_IDENTIFIER_IDENTIFICATION_STRATEGY_HPP_
#include <licensecc/datatypes.h>
#include <licensecc_properties.h>
#include <vector>
#include "../base/base.h"
#include "pc_identifier.hpp"
namespace license {
class IdentificationStrategy {
protected:
   LCC_EVENT_TYPE validate_identifier(const PcIdentifier& identifier,
                              const std::vector<std::array<uint8_t, 6>>& available_ids) const;
public:
   IdentificationStrategy(){};
   virtual ~IdentificationStrategy(){};
   virtual IDENTIFICATION_STRATEGY identification_strategy() const = 0;
   virtual void identify_pc(PcIdentifier &identifier) const = 0;
   virtual LCC_API_IDENTIFICATION_STRATEGY identification_strategy() const = 0;
   virtual FUNCTION_RETURN identify_pc(PcIdentifier& identifier) const = 0;
   virtual std::vector<PcIdentifier> alternative_ids() const = 0;
   virtual EVENT_TYPE validate_identifier(const PcIdentifier &identifier) const = 0;
   virtual LCC_EVENT_TYPE validate_identifier(const PcIdentifier &identifier) const = 0;
};
} /* namespace license */