summaryrefslogtreecommitdiffstats
path: root/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_dll.h
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_dll.h')
-rw-r--r--xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_dll.h126
1 files changed, 0 insertions, 126 deletions
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_dll.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_dll.h
deleted file mode 100644
index 30741a6..0000000
--- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_dll.h
+++ /dev/null
@@ -1,126 +0,0 @@
1/*
2 * Copyright (C) 2013 Arne Morten Kvarving
3 *
4 * This Program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2, or (at your option)
7 * any later version.
8 *
9 * This Program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with XBMC; see the file COPYING. If not, see
16 * <http://www.gnu.org/licenses/>.
17 *
18 */
19#pragma once
20
21#include <stdint.h>
22#include "xbmc_addon_dll.h"
23#include "kodi_vfs_types.h"
24
25extern "C"
26{
27 //! \copydoc KodiToAddonFuncTable_VFSEntry::Open
28 void* Open(VFSURL* url);
29
30 //! \copydoc KodiToAddonFuncTable_VFSEntry::OpenForWrite
31 void* OpenForWrite(VFSURL* url, bool bOverWrite);
32
33 //! \copydoc KodiToAddonFuncTable_VFSEntry::Read
34 ssize_t Read(void* context, void* buffer, size_t size);
35
36 //! \copydoc KodiToAddonFuncTable_VFSEntry::Write
37 ssize_t Write(void* context, const void* buffer, size_t size);
38
39 //! \copydoc KodiToAddonFuncTable_VFSEntry::Seek
40 int64_t Seek(void* context, int64_t position, int whence);
41
42 //! \copydoc KodiToAddonFuncTable_VFSEntry::Truncate
43 int Truncate(void* context, int64_t size);
44
45 //! \copydoc KodiToAddonFuncTable_VFSEntry::GetLength
46 int64_t GetLength(void* context);
47
48 //! \copydoc KodiToAddonFuncTable_VFSEntry::GetPosition
49 int64_t GetPosition(void* context);
50
51 //! \copydoc KodiToAddonFuncTable_VFSEntry::GetChunkSize
52 int GetChunkSize(void* context);
53
54 //! \copydoc KodiToAddonFuncTable_VFSEntry::IoControl
55 int IoControl(void* context, XFILE::EIoControl request, void* param);
56
57 //! \copydoc KodiToAddonFuncTable_VFSEntry::Stat
58 int Stat(VFSURL* url, struct __stat64* buffer);
59
60 //! \copydoc KodiToAddonFuncTable_VFSEntry::Close
61 bool Close(void* context);
62
63 //! \copydoc KodiToAddonFuncTable_VFSEntry::Exists
64 bool Exists(VFSURL* url);
65
66 //! \copydoc KodiToAddonFuncTable_VFSEntry::ContainsFiles
67 void* ContainsFiles(VFSURL* url, VFSDirEntry** entries, int* num_entries,
68 char* rootpath);
69
70 //! \copydoc KodiToAddonFuncTable_VFSEntry::ClearOutIdle
71 void ClearOutIdle();
72
73 //! \copydoc KodiToAddonFuncTable_VFSEntry::DisconnectAll
74 void DisconnectAll();
75
76 //! \copydoc KodiToAddonFuncTable_VFSEntry::DirectoryExists
77 bool DirectoryExists(VFSURL* url);
78
79 //! \copydoc KodiToAddonFuncTable_VFSEntry::RemoveDirectory
80 bool RemoveDirectory(VFSURL* url);
81
82 //! \copydoc KodiToAddonFuncTable_VFSEntry::CreateDirectory
83 bool CreateDirectory(VFSURL* url);
84
85 //! \copydoc KodiToAddonFuncTable_VFSEntry::GetDirectory
86 void* GetDirectory(VFSURL* url, VFSDirEntry** entries, int* num_entries,
87 VFSCallbacks* callbacks);
88
89 //! \copydoc KodiToAddonFuncTable_VFSEntry::FreeDirectory
90 void FreeDirectory(void* ctx);
91
92 //! \copydoc KodiToAddonFuncTable_VFSEntry::Delete
93 bool Delete(VFSURL* url);
94
95 //! \copydoc KodiToAddonFuncTable_VFSEntry::Rename
96 bool Rename(VFSURL* url, VFSURL* url2);
97
98 //! \brief Function to export the above structure to Kodi
99 void __declspec(dllexport) get_addon(void* ptr)
100 {
101 AddonInstance_VFSEntry* vfs = static_cast<AddonInstance_VFSEntry*>(ptr);
102 vfs->toAddon.Open = Open;
103 vfs->toAddon.OpenForWrite = OpenForWrite;
104 vfs->toAddon.Read = Read;
105 vfs->toAddon.Write = Write;
106 vfs->toAddon.Seek = Seek;
107 vfs->toAddon.GetLength = GetLength;
108 vfs->toAddon.GetPosition = GetPosition;
109 vfs->toAddon.IoControl = IoControl;
110 vfs->toAddon.Stat = Stat;
111 vfs->toAddon.Close = Close;
112 vfs->toAddon.Exists = Exists;
113 vfs->toAddon.ClearOutIdle = ClearOutIdle;
114 vfs->toAddon.DisconnectAll = DisconnectAll;
115 vfs->toAddon.DirectoryExists = DirectoryExists;
116 vfs->toAddon.GetDirectory = GetDirectory;
117 vfs->toAddon.FreeDirectory = FreeDirectory;
118 vfs->toAddon.Truncate = Truncate;
119 vfs->toAddon.Delete = Delete;
120 vfs->toAddon.Rename = Rename;
121 vfs->toAddon.RemoveDirectory = RemoveDirectory;
122 vfs->toAddon.CreateDirectory = CreateDirectory;
123 vfs->toAddon.ContainsFiles = ContainsFiles;
124 vfs->toAddon.GetChunkSize = GetChunkSize;
125 };
126};