From ffca21f2743a7b367fa212799c6e2fea6190dd5d Mon Sep 17 00:00:00 2001 From: manuel Date: Tue, 3 Mar 2015 16:53:59 +0100 Subject: initial commit for kodi master --- xbmc/addons/AddonCallbacksAddon.h | 73 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 xbmc/addons/AddonCallbacksAddon.h (limited to 'xbmc/addons/AddonCallbacksAddon.h') diff --git a/xbmc/addons/AddonCallbacksAddon.h b/xbmc/addons/AddonCallbacksAddon.h new file mode 100644 index 0000000..6eed7cd --- /dev/null +++ b/xbmc/addons/AddonCallbacksAddon.h @@ -0,0 +1,73 @@ +#pragma once +/* + * Copyright (C) 2012-2013 Team XBMC + * http://xbmc.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XBMC; see the file COPYING. If not, see + * . + * + */ + +#include "AddonCallbacks.h" + +namespace ADDON +{ + +class CAddonCallbacksAddon +{ +public: + CAddonCallbacksAddon(CAddon* addon); + ~CAddonCallbacksAddon(); + + /*! + * @return The callback table. + */ + CB_AddOnLib *GetCallbacks() { return m_callbacks; } + + static void AddOnLog(void *addonData, const addon_log_t addonLogLevel, const char *strMessage); + static bool GetAddonSetting(void *addonData, const char *strSettingName, void *settingValue); + static void QueueNotification(void *addonData, const queue_msg_t type, const char *strMessage); + static bool WakeOnLan(const char *mac); + static char* UnknownToUTF8(const char *strSource); + static char* GetLocalizedString(const void* addonData, long dwCode); + static char* GetDVDMenuLanguage(const void* addonData); + static void FreeString(const void* addonData, char* str); + + // file operations + static void* OpenFile(const void* addonData, const char* strFileName, unsigned int flags); + static void* OpenFileForWrite(const void* addonData, const char* strFileName, bool bOverwrite); + static ssize_t ReadFile(const void* addonData, void* file, void* lpBuf, size_t uiBufSize); + static bool ReadFileString(const void* addonData, void* file, char *szLine, int iLineLength); + static ssize_t WriteFile(const void* addonData, void* file, const void* lpBuf, size_t uiBufSize); + static void FlushFile(const void* addonData, void* file); + static int64_t SeekFile(const void* addonData, void* file, int64_t iFilePosition, int iWhence); + static int TruncateFile(const void* addonData, void* file, int64_t iSize); + static int64_t GetFilePosition(const void* addonData, void* file); + static int64_t GetFileLength(const void* addonData, void* file); + static void CloseFile(const void* addonData, void* file); + static int GetFileChunkSize(const void* addonData, void* file); + static bool FileExists(const void* addonData, const char *strFileName, bool bUseCache); + static int StatFile(const void* addonData, const char *strFileName, struct __stat64* buffer); + static bool DeleteFile(const void* addonData, const char *strFileName); + static bool CanOpenDirectory(const void* addonData, const char* strURL); + static bool CreateDirectory(const void* addonData, const char *strPath); + static bool DirectoryExists(const void* addonData, const char *strPath); + static bool RemoveDirectory(const void* addonData, const char *strPath); + +private: + CB_AddOnLib *m_callbacks; /*!< callback addresses */ + CAddon *m_addon; /*!< the add-on */ +}; + +}; /* namespace ADDON */ -- cgit v1.2.3