LIEF: Library to Instrument Executable Formats Version 0.15.0
Loading...
Searching...
No Matches
OAT/hash.hpp
1/* Copyright 2017 - 2024 R. Thomas
2 * Copyright 2017 - 2024 Quarkslab
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16#ifndef LIEF_OAT_HASH_H
17#define LIEF_OAT_HASH_H
18
19#include "LIEF/visibility.h"
20#include "LIEF/hash.hpp"
21
22namespace LIEF {
23class Object;
24namespace OAT {
25
26class Binary;
27class Class;
28class DexFile;
29class Header;
30class Method;
31
32class LIEF_API Hash : public LIEF::Hash {
33 public:
34 static LIEF::Hash::value_type hash(const Object& obj);
35
36 public:
37 using LIEF::Hash::Hash;
38 using LIEF::Hash::visit;
39
40 public:
41 void visit(const Binary& binary) override;
42 void visit(const Header& header) override;
43 void visit(const DexFile& dex_file) override;
44 void visit(const Class& cls) override;
45 void visit(const Method& method) override;
46
47 ~Hash() override;
48};
49
50}
51}
52
53#endif
Definition hash.hpp:31
Definition OAT/Binary.hpp:41
Definition OAT/Class.hpp:35
Definition DexFile.hpp:36
Definition OAT/hash.hpp:32
void visit(const Binary &binary) override
Method to visit a LIEF::OAT::Binary.
void visit(const Method &method) override
Method to visit a LIEF::OAT::Method.
void visit(const DexFile &dex_file) override
Method to visit a LIEF::OAT::DexFile.
void visit(const Class &cls) override
Method to visit a LIEF::OAT::Class.
void visit(const Header &header) override
Method to visit a LIEF::OAT::Header.
Definition OAT/Header.hpp:36
Definition OAT/Method.hpp:34
Definition Object.hpp:25
LIEF namespace.
Definition Abstract/Binary.hpp:32