xref: /openbsd-src/gnu/llvm/llvm/tools/llvm-readobj/WindowsResourceDumper.h (revision 09467b48e8bc8b4905716062da846024139afbf2)
1*09467b48Spatrick //===- WindowsResourceDumper.h - Windows Resource printer -------*- C++ -*-===//
2*09467b48Spatrick //
3*09467b48Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*09467b48Spatrick // See https://llvm.org/LICENSE.txt for license information.
5*09467b48Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*09467b48Spatrick //
7*09467b48Spatrick //===----------------------------------------------------------------------===//
8*09467b48Spatrick 
9*09467b48Spatrick #ifndef LLVM_TOOLS_LLVM_READOBJ_WINDOWSRESOURCEDUMPER_H
10*09467b48Spatrick #define LLVM_TOOLS_LLVM_READOBJ_WINDOWSRESOURCEDUMPER_H
11*09467b48Spatrick 
12*09467b48Spatrick #include "llvm/Object/WindowsResource.h"
13*09467b48Spatrick #include "llvm/Support/ScopedPrinter.h"
14*09467b48Spatrick 
15*09467b48Spatrick namespace llvm {
16*09467b48Spatrick namespace object {
17*09467b48Spatrick namespace WindowsRes {
18*09467b48Spatrick 
19*09467b48Spatrick class Dumper {
20*09467b48Spatrick public:
Dumper(WindowsResource * Res,ScopedPrinter & SW)21*09467b48Spatrick   Dumper(WindowsResource *Res, ScopedPrinter &SW) : SW(SW), WinRes(Res) {}
22*09467b48Spatrick 
23*09467b48Spatrick   Error printData();
24*09467b48Spatrick 
25*09467b48Spatrick private:
26*09467b48Spatrick   ScopedPrinter &SW;
27*09467b48Spatrick   WindowsResource *WinRes;
28*09467b48Spatrick 
29*09467b48Spatrick   void printEntry(const ResourceEntryRef &Ref);
30*09467b48Spatrick };
31*09467b48Spatrick 
32*09467b48Spatrick } // namespace WindowsRes
33*09467b48Spatrick } // namespace object
34*09467b48Spatrick } // namespace llvm
35*09467b48Spatrick 
36*09467b48Spatrick #endif
37