예제 #1
0
        ITypemap?LoadDSO(Stream stream, string filePath, ManagedTypeResolver managedResolver)
        {
            ITypemap tm = new XamarinAppDebugDSO(managedResolver, filePath);

            if (tm.CanLoad(stream, filePath))
            {
                return(ReturnIfCorrectArch(tm));
            }

            tm = new XamarinAppReleaseDSO(managedResolver, filePath);
            if (tm.CanLoad(stream, filePath))
            {
                return(ReturnIfCorrectArch(tm));
            }

            return(null);

            ITypemap?ReturnIfCorrectArch(ITypemap tm)
            {
                return(IsMatchingArch(tm) ? tm : null);
            }
        }
예제 #2
0
 protected XamarinAppDSO(ManagedTypeResolver managedResolver, AnELF elf)
     : this(managedResolver, Path.GetFullPath(elf.FilePath))
 {
     this.elf = elf;
 }
예제 #3
0
 protected XamarinAppDSO(ManagedTypeResolver managedResolver, string fullPath)
 {
     ManagedResolver = managedResolver;
     FullPath        = fullPath;
 }
 protected XamarinAppReleaseDSO_Version(ManagedTypeResolver managedResolver, AnELF elf)
     : base(managedResolver, elf)
 {
 }
 public XamarinAppReleaseDSO(ManagedTypeResolver managedResolver, string fullPath)
     : base(managedResolver, fullPath)
 {
 }
 public XamarinAppReleaseDSO_V1(ManagedTypeResolver managedResolver, AnELF elf)
     : base(managedResolver, elf)
 {
 }