fixed: LINUX build errors
[xbmc:xbmc.git] / xbmc / FileSystem / FileRTV.h
1 /*
2  *      Copyright (C) 2005-2008 Team XBMC
3  *      http://www.xbmc.org
4  *
5  *  This Program is free software; you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation; either version 2, or (at your option)
8  *  any later version.
9  *
10  *  This Program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  *  GNU General Public License for more details.
14  *
15  *  You should have received a copy of the GNU General Public License
16  *  along with XBMC; see the file COPYING.  If not, write to
17  *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
18  *  http://www.gnu.org/copyleft/gpl.html
19  *
20  */
21
22 // FileRTV.h: interface for the CFileRTV class.
23 //
24 //////////////////////////////////////////////////////////////////////
25
26 #if !defined(AFX_FILERTV_H___INCLUDED_)
27 #define AFX_FILERTV_H___INCLUDED_
28
29 #if _MSC_VER > 1000
30 #pragma once
31 #endif // _MSC_VER > 1000
32
33 #include "IFile.h"
34
35 typedef struct rtv_data * RTVD;
36
37 namespace XFILE
38 {
39
40 class CFileRTV : public IFile
41 {
42 public:
43   CFileRTV();
44   virtual ~CFileRTV();
45   virtual int64_t GetPosition();
46   virtual int64_t GetLength();
47   virtual bool Open(const CURL& url);
48   bool Open(const char* strHostName, const char* strFileName, int iport);
49   virtual bool Exists(const CURL& url);
50   virtual int Stat(const CURL& url, struct stat64* buffer);
51   virtual unsigned int Read(void* lpBuf, int64_t uiBufSize);
52   virtual int64_t Seek(int64_t iFilePosition, int iWhence = SEEK_SET);
53   virtual void Close();
54 protected:
55   uint64_t m_fileSize;
56   uint64_t m_filePos;
57   char m_hostName[255];
58   char m_fileName[255];
59   int m_iport;
60 private:
61   RTVD m_rtvd;
62   bool m_bOpened;
63
64 };
65 }
66
67 #endif // !defined(AFX_FILERTV_H___INCLUDED_)