e0d3f976a2125729f717de8bfc20f8e823386ee8
[vuplus_xbmc] / xbmc / osx / DarwinUtils.h
1 /*
2  *      Copyright (C) 2010-2013 Team XBMC
3  *      http://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, see
17  *  <http://www.gnu.org/licenses/>.
18  *
19  */
20 #ifndef _DARWIN_UTILS_H_
21 #define _DARWIN_UTILS_H_
22
23 #include <string>
24
25 // We forward declare CFStringRef in order to avoid
26 // pulling in tons of Objective-C headers.
27 struct __CFString;
28 typedef const struct __CFString * CFStringRef;
29
30 #ifdef __cplusplus
31 extern "C"
32 {
33 #endif
34   bool        DarwinIsAppleTV2(void);
35   bool        DarwinHasRetina(void);
36   const char *GetDarwinOSReleaseString(void);
37   const char *GetDarwinVersionString(void);
38   float       GetIOSVersion(void);
39   int         GetDarwinFrameworkPath(bool forPython, char* path, uint32_t *pathsize);
40   int         GetDarwinExecutablePath(char* path, uint32_t *pathsize);
41   const std::string& DarwinGetXbmcRootFolder(void);
42   bool        DarwinIsIosSandboxed(void);
43   bool        DarwinHasVideoToolboxDecoder(void);
44   int         DarwinBatteryLevel(void);
45   void        DarwinSetScheduling(int message);
46   bool        DarwinCFStringRefToString(CFStringRef source, std::string& destination);
47   bool        DarwinCFStringRefToUTF8String(CFStringRef source, std::string& destination);
48 #ifdef __cplusplus
49 }
50 #endif
51
52 #endif