//--------------------------------------------------------------------------------------------- void TMainForm::sl_Start() { // для загрузки Mesh нужно устройство MakeDevice(); // создать список файлов MakeListPath(); // загружать по одному и сохранять ConvertAll(); DestroyDevice(); }
void InputHandler_MacOSX_HID::AddDevices( int usagePage, int usage, InputDevice &id ) { io_iterator_t iter; CFDictionaryRef dict = GetMatchingDictionary( usagePage, usage ); kern_return_t ret = IOServiceAddMatchingNotification( m_NotifyPort, kIOFirstMatchNotification, dict, InputHandler_MacOSX_HID::DeviceAdded, this, &iter ); io_object_t device; if( ret != KERN_SUCCESS ) return; m_vIters.push_back( iter ); // Iterate over the devices and add them while( (device = IOIteratorNext(iter)) ) { LOG->Trace( "\tFound device %d", id ); HIDDevice *dev = MakeDevice( id ); int num; if( !dev ) { LOG->Trace( "\t\tInvalid id, deleting device" ); IOObjectRelease( device ); continue; } if( !dev->Open(device) || (num = dev->AssignIDs(id)) == -1 ) { LOG->Trace( "\tFailed top open or assign id, deleting device" ); delete dev; IOObjectRelease( device ); continue; } io_iterator_t i; enum_add( id, num ); m_vDevices.push_back( dev ); ret = IOServiceAddInterestNotification( m_NotifyPort, device, kIOGeneralInterest, InputHandler_MacOSX_HID::DeviceChanged, this, &i ); if( ret == KERN_SUCCESS ) m_vIters.push_back( i ); else LOG->Trace( "\t\tFailed to add device changed notification, deleting device" ); IOObjectRelease( device ); } }