LeechCraft 0.6.70-17609-g3dde4097dd
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
imediaplayer.h
Go to the documentation of this file.
1/**********************************************************************
2 * LeechCraft - modular cross-platform feature rich internet client.
3 * Copyright (C) 2006-2014 Georg Rudoy
4 *
5 * Distributed under the Boost Software License, Version 1.0.
6 * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7 **********************************************************************/
8
9#ifndef INTERFACES_IMEDIAPLAYER_H
10#define INTERFACES_IMEDIAPLAYER_H
11#include <QString>
12#include <QWidget>
13#include <QUrl>
14#include <QtPlugin>
15
16class Q_DECL_EXPORT IVideoWidget
17{
18public:
19 virtual ~IVideoWidget () {}
20
21 virtual void Enqueue (const QUrl& url) = 0;
22 virtual void Enqueue (QIODevice*) = 0;
23 virtual void Play () = 0;
24 virtual void Pause () = 0;
25 virtual void Stop () = 0;
26 virtual void Clear () = 0;
27
28 virtual QWidget* Widget () = 0;
29};
30
31class Q_DECL_EXPORT IMediaPlayer
32{
33public:
34 virtual IVideoWidget* CreateWidget () const = 0;
35 virtual IVideoWidget* GetDefaultWidget () const = 0;
36
37 virtual ~IMediaPlayer () {}
38};
39
40Q_DECLARE_INTERFACE (IVideoWidget, "org.Deviant.LeechCraft.IVideoWidget/1.0")
41Q_DECLARE_INTERFACE (IMediaPlayer, "org.Deviant.LeechCraft.IMediaPlayer/1.0")
42
43#endif
44
virtual ~IMediaPlayer()
virtual IVideoWidget * GetDefaultWidget() const =0
virtual IVideoWidget * CreateWidget() const =0
virtual void Clear()=0
virtual QWidget * Widget()=0
virtual void Play()=0
virtual void Enqueue(const QUrl &url)=0
virtual void Stop()=0
virtual void Enqueue(QIODevice *)=0
virtual ~IVideoWidget()
virtual void Pause()=0