summaryrefslogtreecommitdiffstats
path: root/src/app/theStream.h
blob: 0ffe64f20152596cca8c6e6079c04de911f45960 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// (C) 2005 Max Howell ([email protected])
// See COPYING file for licensing information

#ifndef CODEINE_THESTREAM_H
#define CODEINE_THESTREAM_H

#include "config.h"  // needed for inline functions
#include <kurl.h>    // larger :( but no macros at least
#include <qsize.h>   // small header
#include <qstring.h> // small header

/// for purely static classes
#define CODEINE_NO_EXPORT( T ) \
   T(); \
  ~T(); \
   T( const T& ); \
   T &operator=( const T& ); \
   bool operator==( const T& ); \
   bool operator!=( const T& );

namespace Codeine
{
   class TheStream
   {
   CODEINE_NO_EXPORT( TheStream )

   public:
      static const KURL &url();

      static bool canSeek();
      static bool hasAudio();
      static bool hasVideo();

      static QSize defaultVideoSize();

      static int aspectRatio();
      static int subtitleChannel();
      static int audioChannel();

      static QString prettyTitle();
      static QString information();

      static inline bool hasProfile()
            { return KGlobal::config()->hasGroup( url().prettyURL() ); }

      static KConfig *profile();
   };
}

#endif