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

    [
        ActiveDOMObject,
        Conditional=RMAI,
        CustomToJSObject,
        JSGenerateToNativeObject
    ] interface MOMRenderer : EventTarget {
        const unsigned short POSITION_START = 0;
        const unsigned short POSITION_CURRENT = 1;
        const unsigned short POSITION_END = 2;

        readonly attribute long offset;
        readonly attribute long duration;

        void connect( in MOMStream stream, in optional long mode ) raises(MOMException);
        void disconnect();
        void play( in long speed ) raises(MOMException);
        [ImplementedAs=rendererStop] void stop();
        void seek( in long offset, in long reference ) raises(MOMException);
        MOMComponentCollection getComponents( in long componentType );
        void selectComponent( in MOMComponent component );
        void removeComponent( in MOMComponent component );

    };
