tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

WMFClearKeyActivate.h (3711B)


      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/. */
      4 
      5 #ifndef DOM_MEDIA_PLATFORM_WMF_CLEARKEY_WMFCLEARKEYACTIVATE_H
      6 #define DOM_MEDIA_PLATFORM_WMF_CLEARKEY_WMFCLEARKEYACTIVATE_H
      7 
      8 #include <wrl.h>
      9 #include <wrl/client.h>
     10 
     11 #include "MFCDMExtra.h"
     12 
     13 namespace mozilla {
     14 
     15 // This class is used to provide WMFClearKeyContentEnabler.
     16 class WMFClearKeyActivate
     17    : public Microsoft::WRL::RuntimeClass<
     18          Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::ClassicCom>,
     19          IMFActivate, Microsoft::WRL::FtmBase> {
     20 public:
     21  WMFClearKeyActivate() = default;
     22  ~WMFClearKeyActivate() = default;
     23  WMFClearKeyActivate(const WMFClearKeyActivate&) = delete;
     24  WMFClearKeyActivate& operator=(const WMFClearKeyActivate&) = delete;
     25 
     26  HRESULT RuntimeClassInitialize();
     27 
     28  // IMFActivate
     29  STDMETHODIMP ActivateObject(REFIID aRiid, void** aPpv) override;
     30  STDMETHODIMP ShutdownObject() override;
     31  STDMETHODIMP DetachObject() override;
     32 
     33  // IMFAttributes inherited by IMFActivate
     34  STDMETHODIMP GetItem(REFGUID aGuidKey, PROPVARIANT* aValue) override;
     35  STDMETHODIMP GetItemType(REFGUID aGuidKey, MF_ATTRIBUTE_TYPE* aType) override;
     36  STDMETHODIMP CompareItem(REFGUID aGuidKey, REFPROPVARIANT aValue,
     37                           BOOL* aResult) override;
     38  STDMETHODIMP Compare(IMFAttributes* aAttributes,
     39                       MF_ATTRIBUTES_MATCH_TYPE aType, BOOL* aResult) override;
     40  STDMETHODIMP GetUINT32(REFGUID aGuidKey, UINT32* aValue) override;
     41  STDMETHODIMP GetUINT64(REFGUID aGuidKey, UINT64* aValue) override;
     42  STDMETHODIMP GetDouble(REFGUID aGuidKey, double* aValue) override;
     43  STDMETHODIMP GetGUID(REFGUID aGuidKey, GUID* aGuidValue) override;
     44  STDMETHODIMP GetStringLength(REFGUID aGuidKey, UINT32* aPcchLength) override;
     45  STDMETHODIMP GetString(REFGUID aGuidKey, LPWSTR aPwszValue,
     46                         UINT32 aCchBufSize, UINT32* aPcchLength) override;
     47  STDMETHODIMP GetAllocatedString(REFGUID aGuidKey, LPWSTR* aPpwszValue,
     48                                  UINT32* aPcchLength) override;
     49  STDMETHODIMP GetBlobSize(REFGUID aGuidKey, UINT32* aPcbBlobSize) override;
     50  STDMETHODIMP GetBlob(REFGUID aGuidKey, UINT8* aBuf, UINT32 aCbBufSize,
     51                       UINT32* aPcbBlobSize) override;
     52  STDMETHODIMP GetAllocatedBlob(REFGUID aGuidKey, UINT8** aBuf,
     53                                UINT32* aPcbSize) override;
     54  STDMETHODIMP GetUnknown(REFGUID aGuidKey, REFIID aRiid,
     55                          LPVOID* aPpv) override;
     56  STDMETHODIMP SetItem(REFGUID aGuidKey, REFPROPVARIANT aValue) override;
     57  STDMETHODIMP DeleteItem(REFGUID aGuidKey) override;
     58  STDMETHODIMP DeleteAllItems() override;
     59  STDMETHODIMP SetUINT32(REFGUID aGuidKey, UINT32 aValue) override;
     60  STDMETHODIMP SetUINT64(REFGUID aGuidKey, UINT64 aValue) override;
     61  STDMETHODIMP SetDouble(REFGUID aGuidKey, double aValue) override;
     62  STDMETHODIMP SetGUID(REFGUID aGuidKey, REFGUID aGuidValue) override;
     63  STDMETHODIMP SetString(REFGUID aGuidKey, LPCWSTR aWszValue) override;
     64  STDMETHODIMP SetBlob(REFGUID aGuidKey, const UINT8* aBuf,
     65                       UINT32 aCbBufSize) override;
     66  STDMETHODIMP SetUnknown(REFGUID aGuidKey, IUnknown* aUnknown) override;
     67  STDMETHODIMP LockStore() override;
     68  STDMETHODIMP UnlockStore() override;
     69  STDMETHODIMP GetCount(UINT32* aPcItems) override;
     70  STDMETHODIMP GetItemByIndex(UINT32 aIndex, GUID* aGuidKey,
     71                              PROPVARIANT* aValue) override;
     72  STDMETHODIMP CopyAllItems(IMFAttributes* aDest) override;
     73 };
     74 
     75 }  // namespace mozilla
     76 
     77 #endif  // DOM_MEDIA_PLATFORM_WMF_CLEARKEY_WMFCLEARKEYACTIVATE_H