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

    [
        CallWith=ScriptExecutionContext,
        Conditional=RMAI,
        CustomConstructor,
        JSGenerateToNativeObject
    ] interface MOMChannel : MOMContentItem {
        const unsigned short TYPE_TV = 0;
        const unsigned short TYPE_RADIO = 1;
        const unsigned short TYPE_DATA = 2;
        const unsigned short TYPE_VOD = 3;
        const unsigned short TYPE_PPV = 4;
        const unsigned short TYPE_PLAYLIST = 5;
        const unsigned short TYPE_VIRTUAL = 6;
        const unsigned short TYPE_DVR = 7;
        const unsigned short TYPE_SVOD = 8;
        const unsigned short TYPE_FORCE_TUNE = 9;
        const unsigned short TYPE_URI = 10;
        const unsigned short TYPE_WEB = 11;
        const unsigned short TYPE_MOSAIC = 12;

        readonly attribute long channelNumber;
        readonly attribute DOMString source;
        readonly attribute long channelType;
        readonly attribute DOMString serviceId;
        readonly attribute boolean authorised;
        readonly attribute MOMStringCollection genre;
        readonly attribute boolean manualBlock;
        readonly attribute boolean favourite;
        readonly attribute boolean hidden;
        readonly attribute boolean canRecord;
        readonly attribute boolean canTrickPlay;
        readonly attribute boolean displayInGuide;
        readonly attribute boolean isVirtual;
        readonly attribute MOMChannel equivalentHDChannel;
        readonly attribute DOMString packageID;
        readonly attribute boolean subscribed;

        void connect( in MOMPlayer player, in optional long mode ) raises(MOMException);
        DOMString getLogo( in long width, in long height );

    };
