Bug 1883861 - Part 1: Move visitMemoryBarrier into the common CodeGenerator file...
[gecko.git] / media / wmf-clearkey / WMFClearKeyContentEnabler.h
blobebaf5be7ad2adb593cd7d361072d2c7cb157d837
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #ifndef DOM_MEDIA_PLATFORM_WMF_CLEARKEY_WMFCLEARKEYCONTENTENABLER_H
6 #define DOM_MEDIA_PLATFORM_WMF_CLEARKEY_WMFCLEARKEYCONTENTENABLER_H
8 #include <wrl.h>
9 #include <wrl/client.h>
11 #include "MFCDMExtra.h"
13 namespace mozilla {
15 // This class is used to return correct enable type.
16 class WMFClearKeyContentEnabler
17 : public Microsoft::WRL::RuntimeClass<
18 Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::ClassicCom>,
19 IMFContentEnabler, Microsoft::WRL::FtmBase> {
20 public:
21 WMFClearKeyContentEnabler() = default;
22 ~WMFClearKeyContentEnabler() = default;
23 WMFClearKeyContentEnabler(const WMFClearKeyContentEnabler&) = delete;
24 WMFClearKeyContentEnabler& operator=(const WMFClearKeyContentEnabler&) =
25 delete;
27 HRESULT RuntimeClassInitialize();
29 // IMFContentEnabler
30 STDMETHODIMP AutomaticEnable() override;
31 STDMETHODIMP Cancel() override;
32 STDMETHODIMP GetEnableData(BYTE** aData, DWORD* aDataSize) override;
33 STDMETHODIMP GetEnableType(GUID* aType) override;
34 STDMETHODIMP GetEnableURL(LPWSTR* aUrl, DWORD* aUrlSize,
35 MF_URL_TRUST_STATUS* aTrustStatus) override;
36 STDMETHODIMP IsAutomaticSupported(BOOL* automatic) override;
37 STDMETHODIMP MonitorEnable() override;
40 } // namespace mozilla
42 #endif // DOM_MEDIA_PLATFORM_WMF_CLEARKEY_WMFCLEARKEYCONTENTENABLER_H