/** @file MOMProgramme.idl
 *
 * Copyright (C) Espial Limited 2014 - Company confidential - All rights reserved.
 *
 */

    [
        CallWith=ScriptExecutionContext,
        Conditional=RMAI,
        CustomConstructor,
        JSGenerateToNativeObject
    ] interface MOMProgramme : MOMContentItem {
        const unsigned short FILLER_NONE = 0;
        const unsigned short FILLER_GAP = 1;
        const unsigned short FILLER_START = 2;
        const unsigned short FILLER_END = 3;
        const unsigned short FILLER_VIRTUAL = 4;
        const unsigned short SHOW_TYPE_LIVE = 1;
        const unsigned short SHOW_TYPE_FIRST_RUN = 2;
        const unsigned short SHOW_TYPE_RERUN = 3;
        const unsigned short MONO = 1;
        const unsigned short STEREO = 2;
        const unsigned short MULTICHANNEL = 4;
        const unsigned short MULTICHANNEL_ENHANCED = 8;

        readonly attribute long startTime;
        readonly attribute long duration;
        readonly attribute long filler;
        readonly attribute long releaseYear;
        readonly attribute boolean hasRecording;
        readonly attribute MOMContentItem channel;
        readonly attribute MOMContentItem scheduledRecording;
        readonly attribute MOMContentItem recordings;
        readonly attribute long length;
        readonly attribute MOMReminder reminder;
        readonly attribute long starRating;
        readonly attribute boolean subtitles;
        readonly attribute boolean sapAvailable;
        readonly attribute boolean isMultilingual;
        readonly attribute DOMString episodeTitle;
        readonly attribute MOMStringCollection contentAdvisory;
        readonly attribute long episode;
        readonly attribute long totalEpisodes;
        readonly attribute long showType;
        readonly attribute boolean isHD;
        readonly attribute boolean isWidescreen;
        readonly attribute long audioType;
        readonly attribute MOMStringCollection genre;
        [CustomGetter] readonly attribute long bookmark;
        [CustomGetter] readonly attribute MOMPurchasableAsset purchasableAsset;
        readonly attribute long purchased;

        getter MOMContentItem item( in long index );
        void setBookmark( in long bookmark );
    };
