#ifndef CONTENT_BROWSER_BROWSER_INTERFACE_BINDERS_H_
#define CONTENT_BROWSER_BROWSER_INTERFACE_BINDERS_H_
#include "base/functional/callback.h"
#include "content/common/content_export.h"
#include "mojo/public/cpp/bindings/binder_map.h"
#include "services/device/public/mojom/battery_monitor.mojom-forward.h"
#include "services/device/public/mojom/vibration_manager.mojom-forward.h"
#include "url/origin.h"
namespace content {
class RenderFrameHost;
class RenderFrameHostImpl;
class DedicatedWorkerHost;
class SharedWorkerHost;
class ServiceWorkerHost;
struct ServiceWorkerVersionInfo;
struct ServiceWorkerVersionBaseInfo;
namespace internal {
void PopulateBinderMap(RenderFrameHostImpl* host, mojo::BinderMap* map);
void PopulateBinderMapWithContext(
RenderFrameHostImpl* host,
mojo::BinderMapWithContext<RenderFrameHost*>* map);
RenderFrameHost* GetContextForHost(RenderFrameHostImpl* host);
void PopulateBinderMap(DedicatedWorkerHost* host, mojo::BinderMap* map);
void PopulateBinderMapWithContext(
DedicatedWorkerHost* host,
mojo::BinderMapWithContext<const url::Origin&>* map);
const url::Origin& GetContextForHost(DedicatedWorkerHost* host);
void PopulateBinderMap(SharedWorkerHost* host, mojo::BinderMap* map);
void PopulateBinderMapWithContext(
SharedWorkerHost* host,
mojo::BinderMapWithContext<const url::Origin&>* map);
url::Origin GetContextForHost(SharedWorkerHost* host);
void PopulateBinderMap(ServiceWorkerHost* host, mojo::BinderMap* map);
void PopulateBinderMapWithContext(
ServiceWorkerHost* host,
mojo::BinderMapWithContext<const ServiceWorkerVersionBaseInfo&>* map);
ServiceWorkerVersionInfo GetContextForHost(ServiceWorkerHost* host);
}
BatteryMonitorBinder;
CONTENT_EXPORT void OverrideBatteryMonitorBinderForTesting(
BatteryMonitorBinder binder);
VibrationManagerBinder;
CONTENT_EXPORT void OverrideVibrationManagerBinderForTesting(
VibrationManagerBinder binder);
}
#endif