Module: Idevice
- Defined in:
- lib/idevice.rb,
lib/idevice/c.rb,
lib/idevice/afc.rb,
lib/idevice/plist.rb,
lib/idevice/idevice.rb,
lib/idevice/restore.rb,
lib/idevice/version.rb,
lib/idevice/lockdown.rb,
lib/idevice/misagent.rb,
lib/idevice/heartbeat.rb,
lib/idevice/file_relay.rb,
lib/idevice/mobilesync.rb,
lib/idevice/sbservices.rb,
lib/idevice/screenshotr.rb,
lib/idevice/house_arrest.rb,
lib/idevice/mobilebackup.rb,
lib/idevice/webinspector.rb,
lib/idevice/image_mounter.rb,
lib/idevice/mobilebackup2.rb,
lib/idevice/diagnostics_relay.rb,
lib/idevice/installation_proxy.rb,
lib/idevice/notification_proxy.rb
Defined Under Namespace
Modules: C, LibHelpers, NPRecvNotifications, NPSendNotifications Classes: AFCClient, AFCError, AFCFile, DiagnosticsRelayClient, DiagnosticsRelayError, FileRelayClient, FileRelayError, HeartbeatClient, HeartbeatError, HouseArrestClient, HouseArrestError, Idevice, IdeviceConnection, IdeviceLibError, ImageMounterClient, ImageMounterError, InstProxyClient, InstProxyError, LockdownClient, LockdownError, LockdownPairRecord, LockdownServiceDescriptor, MisAgentClient, MisAgentError, MobileBackup2Client, MobileBackup2Error, MobileBackupClient, MobileBackupError, MobileSyncAnchors, MobileSyncClient, MobileSyncError, NotificationProxyClient, NotificationProxyError, Plist_t, Plist_t_Unmanaged, RestoreClient, RestoreErrror, SbservicesClient, SbservicesError, ScreenShotrClient, ScreenShotrError, WebInspectorClient, WebInspectorError
Constant Summary collapse
- AFC_DEFAULT_CHUNKSIZE =
8192
- AFC =
short name alias to AFCClient
AFCClient
- VERSION =
"1.2.0.1"
- SBSError =
SbservicesError
- SBSClient =
SbservicesClient
- NPError =
Aliased short name for NotificationProxyError
NotificationProxyError
- NPClient =
Aliased short name for NotificationProxyClient
NotificationProxyClient
Class Method Summary collapse
- .debug_level=(num) ⇒ Object
- .device_list ⇒ Object
-
.subscribe ⇒ Object
listens for event connection and disconnection events.
- .wait_for_device_add(opts = {}) ⇒ Object
- .wait_for_device_remove(opts = {}) ⇒ Object
Class Method Details
.debug_level=(num) ⇒ Object
46 47 48 |
# File 'lib/idevice.rb', line 46 def self.debug_level= num C.idevice_set_debug_level(num) end |
.device_list ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/idevice.rb', line 50 def self.device_list FFI::MemoryPointer.new(:int) do |countp| FFI::MemoryPointer.new(:pointer) do |devices| ierr = C.idevice_get_device_list(devices, countp) if ierr == :SUCCESS ret = [] count = countp.read_int if count > 0 devices.read_pointer.read_array_of_pointer(count).map { |sp| ret << sp.read_string } end C.idevice_device_list_free(devices.read_pointer) return ret else raise Idevice::IdeviceError, "Library error: #{ierr}" end end end end |
.subscribe ⇒ Object
listens for event connection and disconnection events
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/idevice.rb', line 70 def self.subscribe finished = false cb = Proc.new do |eventp, junk| unless eventp.nil? or eventp.null? evt = C::DEVICE_EVENTS[eventp.read_int] || :UNKNOWN finished = yield(evt) end end begin C.idevice_event_subscribe(cb, nil) until finished #nop end ensure C.idevice_event_unsubscribe() end nil end |
.wait_for_device_add(opts = {}) ⇒ Object
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/idevice.rb', line 91 def self.wait_for_device_add(opts={}) udid = opts[:udid] if udid return if device_list.include?(udid) end subscribe do |evt| if evt == :DEVICE_ADD if udid self.device_list.include?(udid) else true end else false end end end |
.wait_for_device_remove(opts = {}) ⇒ Object
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/idevice.rb', line 110 def self.wait_for_device_remove(opts={}) udid = opts[:udid] if udid return unless device_list.include?(udid) end subscribe do |evt| if evt == :DEVICE_REMOVE if udid (not self.device_list.include?(udid)) else true end else false end end end |