Source code
Revision control
Copy as Markdown
Other Tools
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
#ifndef GMPPlatform_h_
#define GMPPlatform_h_
#include "gmp-platform.h"
#include "mozilla/RefPtr.h"
#include "mozilla/gmp/PGMPChild.h"
namespace mozilla {
namespace ipc {
class ByteBuf;
} // namespace ipc
namespace gmp {
class GMPChild;
void InitPlatformAPI(GMPPlatformAPI& aPlatformAPI, GMPChild* aChild);
enum class PlatformShutdownResult {
ReadyToUnload,
PluginExecutionOutstanding,
};
PlatformShutdownResult ShutdownPlatformAPI();
// Count of live plugin-implemented objects (e.g. codec instances) held by GMP
// child actors.
void AddPluginObject();
void RemovePluginObject();
GMPErr RunOnMainThread(GMPTask* aTask);
GMPTask* NewGMPTask(std::function<void()>&& aFunction);
GMPErr SetTimerOnMainThread(GMPTask* aTask, int64_t aTimeoutMS);
void SendFOGData(ipc::ByteBuf&& buf);
#ifdef XP_WIN
RefPtr<PGMPChild::GetModulesTrustPromise> SendGetModulesTrust(
ModuleIdentifiers&& aModules, bool aRunNormal);
#endif
} // namespace gmp
} // namespace mozilla
#endif // GMPPlatform_h_