blob: bdeb49092dc1eb930693b67d3d01af1501994578 [file] [log] [blame]
Avi Drissman3e1a26c2022-09-15 20:26:031// Copyright 2012 The Chromium Authors
[email protected]ec015c82012-04-12 23:41:532// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef UI_BASE_RESOURCE_RESOURCE_DATA_DLL_WIN_H_
6#define UI_BASE_RESOURCE_RESOURCE_DATA_DLL_WIN_H_
[email protected]ec015c82012-04-12 23:41:537
8#include <windows.h>
Takuto Ikutac8d6b16f2024-04-15 16:59:199
avi20f6a6d532015-12-23 08:05:2410#include <stdint.h>
[email protected]ec015c82012-04-12 23:41:5311
Peter Varga1b04be92022-11-28 20:26:2512#include <memory>
13#include <vector>
14
[email protected]ec015c82012-04-12 23:41:5315#include "ui/base/resource/resource_handle.h"
16
17namespace ui {
18
19class ResourceDataDLL : public ResourceHandle {
20 public:
21 explicit ResourceDataDLL(HINSTANCE module);
Peter Boströmc8c12352021-09-21 23:37:1522
23 ResourceDataDLL(const ResourceDataDLL&) = delete;
24 ResourceDataDLL& operator=(const ResourceDataDLL&) = delete;
25
dcheng98a21052015-04-21 05:14:3826 ~ResourceDataDLL() override;
[email protected]ec015c82012-04-12 23:41:5327
28 // ResourceHandle implementation:
avi20f6a6d532015-12-23 08:05:2429 bool HasResource(uint16_t resource_id) const override;
Arthur Sonzogni3eb9fd512024-02-09 12:20:4330 std::optional<base::StringPiece> GetStringPiece(
Greg Thompsonc5715d02023-08-04 18:18:0131 uint16_t resource_id) const override;
dcheng98a21052015-04-21 05:14:3832 base::RefCountedStaticMemory* GetStaticMemory(
avi20f6a6d532015-12-23 08:05:2433 uint16_t resource_id) const override;
dcheng98a21052015-04-21 05:14:3834 TextEncodingType GetTextEncodingType() const override;
Mitsuru Oshimad46b99d2021-07-01 14:52:2335 ResourceScaleFactor GetResourceScaleFactor() const override;
Eriko Kurimoto13026d62022-03-03 04:39:3236#if DCHECK_IS_ON()
37 void CheckForDuplicateResources(
38 const std::vector<std::unique_ptr<ResourceHandle>>& packs) override {}
39#endif
[email protected]ec015c82012-04-12 23:41:5340
41 private:
42 const HINSTANCE module_;
[email protected]ec015c82012-04-12 23:41:5343};
44
45} // namespace ui
46
47#endif // UI_BASE_RESOURCE_RESOURCE_DATA_DLL_WIN_H_