16#ifndef LIEF_PE_ATTRIBUTES_GENERIC_TYPE_H
17#define LIEF_PE_ATTRIBUTES_GENERIC_TYPE_H
21#include "LIEF/visibility.h"
22#include "LIEF/errors.hpp"
23#include "LIEF/span.hpp"
24#include "LIEF/PE/signature/Attribute.hpp"
25#include "LIEF/PE/signature/types.hpp"
49 std::unique_ptr<Attribute> clone()
const override {
50 return std::unique_ptr<Attribute>(
new GenericType{*
this});
54 const oid_t&
oid()
const {
64 std::string
print()
const override;
66 void accept(
Visitor& visitor)
const override;
70 static bool classof(
const Attribute* attr) {
71 return attr->
type() == Attribute::TYPE::GENERIC_TYPE;
76 std::vector<uint8_t> raw_;
Interface over PKCS #7 attribute.
Definition Attribute.hpp:30
virtual TYPE type() const
Concrete type of the attribute.
Definition Attribute.hpp:60
Interface over an attribute for which the internal structure is not supported by LIEF.
Definition GenericType.hpp:33
span< const uint8_t > raw_content() const
Original DER blob of the attribute.
Definition GenericType.hpp:59
const oid_t & oid() const
OID of the original attribute.
Definition GenericType.hpp:54
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:219
LIEF namespace.
Definition Abstract/Binary.hpp:32