-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
Hi! I'm trying to find all scan devices using ImageCaptureCore, but the code below doesn't call the delegate's methods. And the similar Objective-C code does.
Maybe I'm wrong somewhere because header file(https://github.com/phracker/MacOSX-SDKs/blob/master/MacOSX10.7.sdk/System/Library/Frameworks/ImageCaptureCore.framework/Versions/A/Headers/ICDeviceBrowser.h) is slight different from your example with NSFileManager
const objc = require('../src/index');
const ICDeviceLocationTypeMaskLocal = 0x00000100;
const ICDeviceLocationTypeMaskShared = 0x00000200;
const ICDeviceLocationTypeMaskBonjour = 0x00000400;
const ICDeviceLocationTypeMaskBluetooth = 0x00000800;
const ICDeviceLocationTypeMaskRemote = 0x0000FE00;
const ICDeviceTypeMaskCamera = 0x00000001;
const ICDeviceTypeMaskScanner = 0x00000002;
objc.import('ImageCaptureCore');
const {
ICDeviceBrowser
} = objc;
const DeviceBrowserDelegate = objc.createClass('DeviceBrowserDelegate', 'NSObject', {
"deviceBrowser:didAddDevice:moreComing:": (self, cmd, fileManager, srcPath, dstPath) => {
console.log("deviceBrowser:didAddDevice:moreComing:");
return 1;
},
"deviceBrowser:didRemoveDevice:moreGoing:": (self, cmd, fileManager, srcPath, dstPath) => {
console.log("deviceBrowser:didAddDevice:moreComing:");
return 1;
},
_encodings: {
"deviceBrowser:didAddDevice:moreComing:": ['v', ['@', ':', '@', '@', 'c']],
"deviceBrowser:didRemoveDevice:moreGoing:": ['v', ['@', ':', '@', '@', 'c']]
}
});
const deviceBrowser = ICDeviceBrowser.alloc().init();
const delegate = DeviceBrowserDelegate.new();
deviceBrowser.setDelegate_(delegate);
const mask = ICDeviceTypeMaskScanner | ICDeviceLocationTypeMaskLocal | ICDeviceLocationTypeMaskShared | ICDeviceLocationTypeMaskBonjour | ICDeviceLocationTypeMaskRemote;
deviceBrowser.setBrowsedDeviceTypeMask_(mask);
deviceBrowser.start();
setInterval(() => {
console.log(deviceBrowser.isBrowsing());
}, 2000);Metadata
Metadata
Assignees
Labels
No labels