From 4207f9c279e832e3afcb3f5fc6cd8d84cb4cfe4c Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sat, 28 Mar 2015 01:43:35 +0100 Subject: Bump OculusVR RIFT SDK to 0.5.0.1 --- LibOVRKernel/Src/Util/Util_SystemInfo_OSX.mm | 111 +++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 LibOVRKernel/Src/Util/Util_SystemInfo_OSX.mm (limited to 'LibOVRKernel/Src/Util/Util_SystemInfo_OSX.mm') diff --git a/LibOVRKernel/Src/Util/Util_SystemInfo_OSX.mm b/LibOVRKernel/Src/Util/Util_SystemInfo_OSX.mm new file mode 100644 index 0000000..6ee8ff5 --- /dev/null +++ b/LibOVRKernel/Src/Util/Util_SystemInfo_OSX.mm @@ -0,0 +1,111 @@ + /************************************************************************************ + + Filename : Util_SystemInfo_OSX.mm + Content : Various operations to get information about the mac system + Created : October 2, 2014 + + Copyright : Copyright 2014 Oculus VR, LLC All Rights reserved. + + Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License"); + you may not use the Oculus VR Rift SDK except in compliance with the License, + which is provided at the time of installation or download, or which + otherwise accompanies this software in either electronic or hard copy form. + + You may obtain a copy of the License at + + http://www.oculusvr.com/licenses/LICENSE-3.2 + + Unless required by applicable law or agreed to in writing, the Oculus VR SDK + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + ************************************************************************************/ + +#include "Util_SystemInfo.h" + +#include + +#include +#include + +#include "../Kernel/OVR_String.h" +#include "../Kernel/OVR_System.h" + +using namespace OVR; +namespace OVR { namespace Util { + +//from http://opensource.apple.com/source/CF/CF-744/CFUtilities.c +OVR::String OSVersionAsString(){ + + NSDictionary *systemVersionDictionary = + [NSDictionary dictionaryWithContentsOfFile: + @"/System/Library/CoreServices/SystemVersion.plist"]; + + NSString *systemVersion = + [systemVersionDictionary objectForKey:@"ProductVersion"]; + return OVR::String([systemVersion UTF8String]); +} + + +//from http://www.starcoder.com/wordpress/2011/10/using-iokit-to-detect-graphics-hardware/ +void GetGraphicsCardList(Array< String > &gpus) +{ + // Check the PCI devices for video cards. + CFMutableDictionaryRef match_dictionary = IOServiceMatching("IOPCIDevice"); + + // Create a iterator to go through the found devices. + io_iterator_t entry_iterator; + + if (IOServiceGetMatchingServices(kIOMasterPortDefault, + match_dictionary, + &entry_iterator) == kIOReturnSuccess) + { + // Actually iterate through the found devices. + io_registry_entry_t serviceObject; + while ((serviceObject = IOIteratorNext(entry_iterator))) + { + // Put this services object into a dictionary object. + CFMutableDictionaryRef serviceDictionary; + if (IORegistryEntryCreateCFProperties(serviceObject, + &serviceDictionary, + kCFAllocatorDefault, + kNilOptions) != kIOReturnSuccess) + { + // Failed to create a service dictionary, release and go on. + IOObjectRelease(serviceObject); + continue; + } + + // + // that points to a CFDataRef. + const void *modelarr = CFDictionaryGetValue(serviceDictionary, CFSTR("model")); + if (modelarr != nil) { + if(CFGetTypeID(modelarr) == CFDataGetTypeID()) + { + NSData *data = (__bridge NSData*)(CFDataRef)modelarr; + NSString *s = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]; + gpus.PushBack([s UTF8String]); + } + } + + // Release the dictionary created by IORegistryEntryCreateCFProperties. + CFRelease(serviceDictionary); + + // Release the serviceObject returned by IOIteratorNext. + IOObjectRelease(serviceObject); + } + + // Release the entry_iterator created by IOServiceGetMatchingServices. + IOObjectRelease(entry_iterator); + } +} + +OVR::String GetProcessorInfo() +{ + return OVR::String(); +} + +} } // namespace OVR { namespace Util { + -- cgit v1.2.3