Beispiel #1
0
        unsafe private bool ConnectToPhone()
        {
            if (MobileDevice.AMDeviceConnect(iPhoneHandle) == 1)
            {
                //int connid;

                throw new Exception("Phone in recovery mode, support not yet implemented");
                //connid = MobileDevice.AMDeviceGetConnectionID(ref iPhoneHandle);
                //MobileDevice.AMRestoreModeDeviceCreate(0, connid, 0);
                //return false;
            }
            if (MobileDevice.AMDeviceIsPaired(iPhoneHandle) == 0)
            {
                return(false);
            }
            int chk = MobileDevice.AMDeviceValidatePairing(iPhoneHandle);

            if (chk != 0)
            {
                return(false);
            }

            if (MobileDevice.AMDeviceStartSession(iPhoneHandle) == 1)
            {
                return(false);
            }

            if (MobileDevice.AMDeviceStartService(iPhoneHandle, MobileDevice.CFStringMakeConstantString("com.apple.afc2"), ref hService, null) != 0)
            {
                if (MobileDevice.AMDeviceStartService(iPhoneHandle, MobileDevice.CFStringMakeConstantString("com.apple.afc"), ref hService, null) != 0)
                {
                    return(false);
                }
            }
            else
            {
                wasAFC2 = true;
            }

            if (MobileDevice.AFCConnectionOpen(hService, 0, ref hAFC) != 0)
            {
                return(false);
            }

            connected = true;
            return(true);
        }
Beispiel #2
0
        private bool ConnectToPhone()
        {
            if (MobileDevice.AMDeviceConnect(ref iPhoneHandle) == 1)
            {
                //int connid;

                throw new Exception("Phone in recovery mode, support not yet implemented");
                //connid = MobileDevice.AMDeviceGetConnectionID(ref iPhoneHandle);
                //MobileDevice.AMRestoreModeDeviceCreate(0, connid, 0);
                //return false;
            }
            if (MobileDevice.AMDeviceIsPaired(ref iPhoneHandle) == 0)
            {
                return(false);
            }

            if (MobileDevice.AMDeviceValidatePairing(ref iPhoneHandle) != 0)
            {
                return(false);
            }

            if (MobileDevice.AMDeviceStartSession(ref iPhoneHandle) == 1)
            {
                return(false);
            }

            if (MobileDevice.AMDeviceStartService(ref iPhoneHandle, MobileDevice.StringToCFString("com.apple.afc2"), ref hAFC, IntPtr.Zero) != 0)
            {
                if (MobileDevice.AMDeviceStartService(ref iPhoneHandle, MobileDevice.StringToCFString("com.apple.afc"), ref hAFC, IntPtr.Zero) != 0)
                {
                    return(false);
                }
            }

            if (MobileDevice.AFCConnectionOpen(hAFC, 0, ref hAFC) != 0)
            {
                return(false);
            }

            connected = true;
            return(true);
        }
Beispiel #3
0
 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 (MobileDevice.AMDeviceStartService(this.iPhoneHandle, MobileDevice.CFStringMakeConstantString("com.apple.afc2"), ref this.hService, null) != 0)
     {
         if (MobileDevice.AMDeviceStartService(this.iPhoneHandle, MobileDevice.CFStringMakeConstantString("com.apple.afc"), ref this.hService, null) != 0)
         {
             return(false);
         }
     }
     else
     {
         this.wasAFC2 = true;
     }
     if (MobileDevice.AFCConnectionOpen(this.hService, 0, ref this.hAFC) != 0)
     {
         return(false);
     }
     this.connected = true;
     return(true);
 }