LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
icurrentsongkeeper.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 #pragma once
10 
11 namespace Media
12 {
13  struct AudioInfo;
14 
21  class ICurrentSongKeeper
22  {
23  public:
24  virtual ~ICurrentSongKeeper () {}
25 
30  virtual AudioInfo GetCurrentSong () const = 0;
31  protected:
39  virtual void currentSongChanged (const AudioInfo& newTune) = 0;
40  };
41 }
42 
43 Q_DECLARE_INTERFACE (Media::ICurrentSongKeeper, "org.LeechCraft.Media.ICurrentSongKeeper/1.0")
Media::ICurrentSongKeeper
Interface for plugins able to fetch current tune.
Definition: icurrentsongkeeper.h:27
Media::ICurrentSongKeeper::currentSongChanged
virtual void currentSongChanged(const AudioInfo &newTune)=0
Emitted when current song changes.
Media::AudioInfo
Describes a single audio track.
Definition: audiostructs.h:26
Media
Definition: audiostructs.h:16
Media::ICurrentSongKeeper::~ICurrentSongKeeper
virtual ~ICurrentSongKeeper()
Definition: icurrentsongkeeper.h:30
Media::ICurrentSongKeeper::GetCurrentSong
virtual AudioInfo GetCurrentSong() const =0
Returns the information about the current song.