blob: 3bac0485b2c6d88e85122f1dd03fe17619665b49 [file] [log] [blame]
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_PLUGINS_PLUGIN_METADATA_H_
#define CHROME_BROWSER_PLUGINS_PLUGIN_METADATA_H_
#include <string>
#include "ppapi/buildflags/buildflags.h"
#if !BUILDFLAG(ENABLE_PLUGINS)
#error "Plugins should be enabled"
#endif
// TODO(crbug.com/40123808): Remove this class.
class PluginMetadata {
public:
// Security status of the plugin.
enum SecurityStatus {
SECURITY_STATUS_REQUIRES_AUTHORIZATION,
SECURITY_STATUS_FULLY_TRUSTED,
};
PluginMetadata(const std::string& identifier,
const std::u16string& name,
SecurityStatus security_status);
PluginMetadata(const PluginMetadata&) = delete;
PluginMetadata& operator=(const PluginMetadata&) = delete;
~PluginMetadata();
// Unique identifier for the plugin.
const std::string& identifier() const { return identifier_; }
// Human-readable name of the plugin.
const std::u16string& name() const { return name_; }
// Returns the security status for the given plugin.
SecurityStatus security_status() const { return security_status_; }
private:
std::string identifier_;
std::u16string name_;
const SecurityStatus security_status_;
};
#endif // CHROME_BROWSER_PLUGINS_PLUGIN_METADATA_H_