private unsafe void doConstruction() { void *voidPtr; this.dnc = new ITMDDeviceNotificationCallback(this.NotifyCallback); int num = MobileDevice.AMDeviceNotificationSubscribe(this.dnc, 0, 0, 0, out voidPtr); if (num != 0) { throw new Exception("AMDeviceNotificationSubscribe failed with error " + num); } this.current_directory = "/"; }
public unsafe Dictionary <string, string> GetFileInfo(string path) { Dictionary <string, string> dictionary = new Dictionary <string, string>(); void *dict = null; if ((MobileDevice.AFCFileInfoOpen(this.hAFC, path, ref dict) == 0) && (dict != null)) { void *voidPtr2; void *voidPtr3; while (((MobileDevice.AFCKeyValueRead(dict, out voidPtr2, out voidPtr3) == 0) && (voidPtr2 != null)) && (voidPtr3 != null)) { string key = Marshal.PtrToStringAnsi(new IntPtr(voidPtr2)); string str2 = Marshal.PtrToStringAnsi(new IntPtr(voidPtr3)); dictionary.Add(key, str2); } MobileDevice.AFCKeyValueClose(dict); } return(dictionary); }
private unsafe bool ConnectToPhone() { if (MobileDevice.AMDeviceConnect(this.iPhoneHandle) == 1) { throw new Exception("Phone in recovery mode, support not yet implemented"); } if (MobileDevice.AMDeviceIsPaired(this.iPhoneHandle) == 0) { return(false); } if (MobileDevice.AMDeviceValidatePairing(this.iPhoneHandle) != 0) { return(false); } if (MobileDevice.AMDeviceStartSession(this.iPhoneHandle) == 1) { return(false); } if (0 != MobileDevice.AMDeviceStartService(this.iPhoneHandle, MobileDevice.__CFStringMakeConstantString(MobileDevice.StringToCString("com.apple.afc2")), ref this.hService, null)) { if (0 != MobileDevice.AMDeviceStartService(this.iPhoneHandle, MobileDevice.__CFStringMakeConstantString(MobileDevice.StringToCString("com.apple.afc")), ref this.hService, null)) { return(false); } } else { this.wasAFC2 = true; } if (MobileDevice.AFCConnectionOpen(this.hService, 0, ref this.hAFC) != 0) { return(false); } this.connected = true; return(true); }
public unsafe void sendCommandToDevice(string Command) { MobileDevice.sendCommandToDevice(this.iPhoneHandle, MobileDevice.__CFStringMakeConstantString(MobileDevice.StringToCFString(Command)), 0); }
public unsafe bool Rename(string sourceName, string destName) { return(MobileDevice.AFCRenamePath(this.hAFC, this.FullPath(this.current_directory, sourceName), this.FullPath(this.current_directory, destName)) == 0); }