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
9 #include <wrl/client.h>
11 #include "MFCDMExtra.h"
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
> {
21 WMFClearKeyContentEnabler() = default;
22 ~WMFClearKeyContentEnabler() = default;
23 WMFClearKeyContentEnabler(const WMFClearKeyContentEnabler
&) = delete;
24 WMFClearKeyContentEnabler
& operator=(const WMFClearKeyContentEnabler
&) =
27 HRESULT
RuntimeClassInitialize();
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