#import <Foundation/Foundation.h>
#import <IOKit/usb/IOUSBLib.h>
#import <IOKit/usb/USB.h>
#import <IOKit/usb/USBSpec.h>
#import <IOKit/IOCFPlugIn.h>
#import <mach/mach_port.h>
#import "BusProberSharedFunctions.h"
#import "OutlineViewNode.h"
#import "BusProbeDevice.h"
#import "BusProbeClass.h"
#import "DescriptorDecoder.h"
@interface BusProber : NSObject {
id _listener;
NSMutableArray * _devicesArray;
CFRunLoopSourceRef _runLoopSource;
}
- initWithListener:(id)listener devicesArray:(NSMutableArray *)devices;
- (BOOL)registerForUSBNotifications;
- (void)unregisterForUSBNotifications;
- (void)refreshData:(BOOL)shouldForce;
- (void)processDevice:(IOUSBDeviceRef)deviceIntf deviceNumber:(int)deviceNumber usbName:(NSString*)usbName;
- (void)PrintPortInfo: (uint32_t)portInfo forDevice:(BusProbeDevice *)thisDevice;
- (void)GetAndPrintNumberOfEndpoints:(IOUSBDeviceRef)deviceIntf forDevice:(BusProbeDevice *)thisDevice portInfo:(UInt32)portInfo;
@end
@protocol BusProberListener <NSObject>
- (void)busProberInformationDidChange:(BusProber *)aProber;
@end