/*
 * Copyright 2017 Alistair Leslie-Hughes
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

import "oaidl.idl";
import "ocidl.idl";
import "mfobjects.idl";
import "mfidl.idl";

typedef struct _DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS
{
    WORD wCompressedDigitalVideo;
    WORD wUncompressedDigitalVideo;
    WORD wAnalogVideo;
    WORD wCompressedDigitalAudio;
    WORD wUncompressedDigitalAudio;
} DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS;

typedef struct _DRM_VIDEO_OUTPUT_PROTECTION
{
    GUID guidId;
    BYTE bConfigData;
} DRM_VIDEO_OUTPUT_PROTECTION;

typedef struct _DRM_VIDEO_OUTPUT_PROTECTION_IDS
{
    WORD                        cEntries;
    DRM_VIDEO_OUTPUT_PROTECTION *rgVop;
} DRM_VIDEO_OUTPUT_PROTECTION_IDS;

typedef struct _DRM_OPL_OUTPUT_IDS
{
    WORD cIds;
    GUID *rgIds;
} DRM_OPL_OUTPUT_IDS;

typedef struct __tagDRM_COPY_OPL
{
    WORD               wMinimumCopyLevel;
    DRM_OPL_OUTPUT_IDS oplIdIncludes;
    DRM_OPL_OUTPUT_IDS oplIdExcludes;
} DRM_COPY_OPL;

typedef struct __tagDRM_PLAY_OPL
{
    DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS minOPL;
    DRM_OPL_OUTPUT_IDS                   oplIdReserved;
    DRM_VIDEO_OUTPUT_PROTECTION_IDS      vopi;
} DRM_PLAY_OPL;


[
    uuid(82435be0-f7c1-4df9-8103-eeabebf3d6e1),
    version(1.0)
]
library WMDRMContentEnablerLib
{
    importlib("stdole2.tlb");

    [
        uuid(82435bdf-f7c1-4df9-8103-eeabebf3d6e1)
    ]
    coclass WMDRMContentEnablerActivate
    {
        [default] interface IPersistStream;
    }
}