16#ifndef LIEF_PE_ATTRIBUTES_GENERIC_TYPE_H
17#define LIEF_PE_ATTRIBUTES_GENERIC_TYPE_H
21#include "LIEF/visibility.h"
22#include "LIEF/span.hpp"
23#include "LIEF/PE/signature/Attribute.hpp"
24#include "LIEF/PE/signature/types.hpp"
48 std::unique_ptr<Attribute> clone()
const override {
49 return std::unique_ptr<Attribute>(
new GenericType{*
this});
53 const oid_t&
oid()
const {
63 std::string
print()
const override;
65 void accept(
Visitor& visitor)
const override;
69 static bool classof(
const Attribute* attr) {
70 return attr->
type() == Attribute::TYPE::GENERIC_TYPE;
75 std::vector<uint8_t> raw_;
Interface over PKCS #7 attribute.
Definition Attribute.hpp:28
virtual TYPE type() const
Concrete type of the attribute.
Definition Attribute.hpp:58
Interface over an attribute for which the internal structure is not supported by LIEF.
Definition GenericType.hpp:32
span< const uint8_t > raw_content() const
Original DER blob of the attribute.
Definition GenericType.hpp:58
const oid_t & oid() const
OID of the original attribute.
Definition GenericType.hpp:53
std::string print() const override
Print information about the attribute.
Main interface to parse PE binaries. In particular the static functions: Parser::parse should be used...
Definition PE/Parser.hpp:47
Definition SignatureParser.hpp:37
Definition Visitor.hpp:221
LIEF namespace.
Definition Abstract/Binary.hpp:31