1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// 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_
7
8#include <windows.h>
9
10#include "base/compiler_specific.h"
11#include "ui/base/resource/resource_handle.h"
12
13namespace ui {
14
15class ResourceDataDLL : public ResourceHandle {
16 public:
17  explicit ResourceDataDLL(HINSTANCE module);
18  virtual ~ResourceDataDLL();
19
20  // ResourceHandle implementation:
21  virtual bool HasResource(uint16 resource_id) const OVERRIDE;
22  virtual bool GetStringPiece(uint16 resource_id,
23                              base::StringPiece* data) const OVERRIDE;
24  virtual base::RefCountedStaticMemory* GetStaticMemory(
25      uint16 resource_id) const OVERRIDE;
26  virtual TextEncodingType GetTextEncodingType() const OVERRIDE;
27  virtual ScaleFactor GetScaleFactor() const OVERRIDE;
28
29 private:
30  const HINSTANCE module_;
31
32  DISALLOW_COPY_AND_ASSIGN(ResourceDataDLL);
33};
34
35}  // namespace ui
36
37#endif  // UI_BASE_RESOURCE_RESOURCE_DATA_DLL_WIN_H_
38