blob: b278ccf157d5d4e54713fc4c8f63f6407694b159 [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>
avi20f6a6d532015-12-23 08:05:249#include <stdint.h>
[email protected]ec015c82012-04-12 23:41:5310
Peter Varga1b04be92022-11-28 20:26:2511#include <memory>
12#include <vector>
13
[email protected]ec015c82012-04-12 23:41:5314#include "ui/base/resource/resource_handle.h"
15
16namespace ui {
17
18class ResourceDataDLL : public ResourceHandle {
19 public:
20 explicit ResourceDataDLL(HINSTANCE module);
Peter Boströmc8c12352021-09-21 23:37:1521
22 ResourceDataDLL(const ResourceDataDLL&) = delete;
23 ResourceDataDLL& operator=(const ResourceDataDLL&) = delete;
24
dcheng98a21052015-04-21 05:14:3825 ~ResourceDataDLL() override;
[email protected]ec015c82012-04-12 23:41:5326
27 // ResourceHandle implementation:
avi20f6a6d532015-12-23 08:05:2428 bool HasResource(uint16_t resource_id) const override;
Greg Thompsonc5715d02023-08-04 18:18:0129 absl::optional<base::StringPiece> GetStringPiece(
30 uint16_t resource_id) const override;
dcheng98a21052015-04-21 05:14:3831 base::RefCountedStaticMemory* GetStaticMemory(
avi20f6a6d532015-12-23 08:05:2432 uint16_t resource_id) const override;
dcheng98a21052015-04-21 05:14:3833 TextEncodingType GetTextEncodingType() const override;
Mitsuru Oshimad46b99d2021-07-01 14:52:2334 ResourceScaleFactor GetResourceScaleFactor() const override;
Eriko Kurimoto13026d62022-03-03 04:39:3235#if DCHECK_IS_ON()
36 void CheckForDuplicateResources(
37 const std::vector<std::unique_ptr<ResourceHandle>>& packs) override {}
38#endif
[email protected]ec015c82012-04-12 23:41:5339
40 private:
41 const HINSTANCE module_;
[email protected]ec015c82012-04-12 23:41:5342};
43
44} // namespace ui
45
46#endif // UI_BASE_RESOURCE_RESOURCE_DATA_DLL_WIN_H_