chromium/extensions/browser/api/management/management_api.h

// 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 EXTENSIONS_BROWSER_API_MANAGEMENT_MANAGEMENT_API_H_
#define EXTENSIONS_BROWSER_API_MANAGEMENT_MANAGEMENT_API_H_

#include <memory>
#include <string>

#include "base/compiler_specific.h"
#include "base/memory/raw_ptr.h"
#include "base/scoped_observation.h"
#include "components/keyed_service/core/keyed_service.h"
#include "extensions/browser/api/management/management_api_delegate.h"
#include "extensions/browser/browser_context_keyed_api_factory.h"
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_event_histogram_value.h"
#include "extensions/browser/extension_function.h"
#include "extensions/browser/extension_registry_observer.h"
#include "extensions/browser/preload_check.h"
#include "extensions/browser/supervised_user_extensions_delegate.h"
#include "extensions/common/extension_id.h"
#include "services/data_decoder/public/cpp/data_decoder.h"

namespace extensions {

class ExtensionRegistry;
class RequirementsChecker;

class ManagementGetAllFunction : public ExtensionFunction {};

class ManagementGetFunction : public ExtensionFunction {};

class ManagementGetSelfFunction : public ExtensionFunction {};

class ManagementGetPermissionWarningsByIdFunction : public ExtensionFunction {};

class ManagementGetPermissionWarningsByManifestFunction
    : public ExtensionFunction {};

class ManagementLaunchAppFunction : public ExtensionFunction {};

class ManagementSetEnabledFunction : public ExtensionFunction {};

class ManagementUninstallFunctionBase : public ExtensionFunction {};

class ManagementUninstallFunction : public ManagementUninstallFunctionBase {};

class ManagementUninstallSelfFunction : public ManagementUninstallFunctionBase {};

class ManagementCreateAppShortcutFunction : public ExtensionFunction {};

class ManagementSetLaunchTypeFunction : public ExtensionFunction {};

class ManagementGenerateAppForLinkFunction : public ExtensionFunction {};

class ManagementInstallReplacementWebAppFunction : public ExtensionFunction {};

class ManagementEventRouter : public ExtensionRegistryObserver {};

class ManagementAPI : public BrowserContextKeyedAPI,
                      public EventRouter::Observer {};

}  // namespace extensions

#endif  // EXTENSIONS_BROWSER_API_MANAGEMENT_MANAGEMENT_API_H_