summaryrefslogtreecommitdiffstats
path: root/src/app/theStream.h
blob: 9a04249316e0fcbde414aa5a9cd4b757f43980df (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 (max.howell@methylblue.com)
// 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 <ntqsize.h>   // small header
#include <ntqstring.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 TQSize defaultVideoSize();

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

      static TQString prettyTitle();
      static TQString information();

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

      static KConfig *profile();
   };
}

#endif