| Index: chromecast/common/cast_resource_delegate.h
|
| diff --git a/chromecast/common/cast_resource_delegate.h b/chromecast/common/cast_resource_delegate.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b3130bc1668abadc6ff5d264d312f1e6e072cca0
|
| --- /dev/null
|
| +++ b/chromecast/common/cast_resource_delegate.h
|
| @@ -0,0 +1,73 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef CHROMECAST_COMMON_CAST_RESOURCE_DELEGATE_H_
|
| +#define CHROMECAST_COMMON_CAST_RESOURCE_DELEGATE_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/macros.h"
|
| +#include "base/memory/ref_counted_memory.h"
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "ui/base/resource/resource_bundle.h"
|
| +
|
| +namespace base {
|
| +class FilePath;
|
| +}
|
| +
|
| +namespace gfx {
|
| +class Image;
|
| +}
|
| +
|
| +namespace chromecast {
|
| +
|
| +// A singleton resource bundle delegate. Primary purpose is to indicate the
|
| +// correct locale pack file to load.
|
| +class CastResourceDelegate : public ui::ResourceBundle::Delegate {
|
| + public:
|
| + // Returns the singleton of delegate. It doesn't create an instance.
|
| + static CastResourceDelegate* GetInstance();
|
| +
|
| + CastResourceDelegate();
|
| + virtual ~CastResourceDelegate();
|
| +
|
| + // ui:ResourceBundle::Delegate implementation:
|
| + virtual base::FilePath GetPathForResourcePack(
|
| + const base::FilePath& pack_path,
|
| + ui::ScaleFactor scale_factor) OVERRIDE;
|
| + virtual base::FilePath GetPathForLocalePack(
|
| + const base::FilePath& pack_path,
|
| + const std::string& locale) OVERRIDE;
|
| + virtual gfx::Image GetImageNamed(int resource_id) OVERRIDE;
|
| + virtual gfx::Image GetNativeImageNamed(
|
| + int resource_id,
|
| + ui::ResourceBundle::ImageRTL rtl) OVERRIDE;
|
| + virtual base::RefCountedStaticMemory* LoadDataResourceBytes(
|
| + int resource_id,
|
| + ui::ScaleFactor scale_factor) OVERRIDE;
|
| + virtual bool GetRawDataResource(int resource_id,
|
| + ui::ScaleFactor scale_factor,
|
| + base::StringPiece* value) OVERRIDE;
|
| + virtual bool GetLocalizedString(int message_id,
|
| + base::string16* value) OVERRIDE;
|
| + virtual scoped_ptr<gfx::Font> GetFont(
|
| + ui::ResourceBundle::FontStyle style) OVERRIDE;
|
| +
|
| + // Adds/removes/clears extra localized strings.
|
| + void AddExtraLocalizedString(int resource_id,
|
| + const base::string16& localized);
|
| + void RemoveExtraLocalizedString(int resource_id);
|
| + void ClearAllExtraLocalizedStrings();
|
| +
|
| + private:
|
| + typedef base::hash_map<int, base::string16> ExtraLocaledStringMap;
|
| +
|
| + ExtraLocaledStringMap extra_localized_strings_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(CastResourceDelegate);
|
| +};
|
| +
|
| +} // namespace chromecast
|
| +
|
| +#endif // CHROMECAST_COMMON_CAST_RESOURCE_DELEGATE_H_
|
|
|