summaryrefslogtreecommitdiffstats
path: root/mpeglib/lib/input/inputDetector.h
blob: f4c3e47de9c4f61aba15e8263cc1e0ebe7c2f8a9 (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
51
52
53
54
55
56
/*
  returns inputtype for a given string
  Copyright (C) 1999  Martin Vogt

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU Library General Public License as published by
  the Free Software Foundation.

  For more information look at the file COPYRIGHT in this package

 */



#ifndef __INPUTDETECTOR_H
#define __INPUTDETECTOR_H



#define __INPUT_UNKNOWN   0
#define __INPUT_FILE      1
#define __INPUT_HTTP      2
#define __INPUT_CDI       3
#define __INPUT_BUFFER    4
#define __INPUT_CDDA      5

extern "C" {
#include <string.h>
}


class InputDetector {


 public:
  InputDetector();
  ~InputDetector();

  static int getInputType(const char* url);

  static int getProtocolType(const char* url);
  // returns new allocated string without protocol specifier
  static char* removeProtocol(const char* url);
  static char* getWithoutExtension(const char* url);
  static char* getExtension(const char* url);
  static char* removeExtension(const char* url,char* extension);
  static char* removeSlash(const char* url);
  static char* getFilename(const char* url);
  
 private:
  static int getProtocolPos(int type,const char* url);

};

#endif