Exemple #1
0
        // This method assumes that given arguments are already validated and have valid values.
        internal static PackageArchive CreatePackageArchive(IntPtr handle, string archivePath)
        {
            PackageArchive packageArchive = new PackageArchive(archivePath);

            var err = Interop.PackageManager.ErrorCode.None;

            err = Interop.PackageArchive.PackageArchiveInfoGetPackage(handle, out packageArchive._id);
            if (err != Interop.PackageManager.ErrorCode.None)
            {
                Log.Warn(LogTag, "Failed to get package id from " + archivePath);
            }
            err = Interop.PackageArchive.PackageArchiveInfoGetType(handle, out packageArchive._type);
            if (err != Interop.PackageManager.ErrorCode.None)
            {
                Log.Warn(LogTag, "Failed to get package type from " + archivePath);
            }
            err = Interop.PackageArchive.PackageArchiveInfoGetVersion(handle, out packageArchive._version);
            if (err != Interop.PackageManager.ErrorCode.None)
            {
                Log.Warn(LogTag, "Failed to get package version from " + archivePath);
            }
            err = Interop.PackageArchive.PackageArchiveInfoGetApiVersion(handle, out packageArchive._apiVersion);
            if (err != Interop.PackageManager.ErrorCode.None)
            {
                Log.Warn(LogTag, "Failed to get package api version from " + archivePath);
            }
            err = Interop.PackageArchive.PackageArchiveInfoGetDescription(handle, out packageArchive._description);
            if (err != Interop.PackageManager.ErrorCode.None)
            {
                Log.Warn(LogTag, "Failed to get package description from " + archivePath);
            }
            err = Interop.PackageArchive.PackageArchiveInfoGetLabel(handle, out packageArchive._label);
            if (err != Interop.PackageManager.ErrorCode.None)
            {
                Log.Warn(LogTag, "Failed to get package label from " + archivePath);
            }
            err = Interop.PackageArchive.PackageArchiveInfoGetAuthor(handle, out packageArchive._author);
            if (err != Interop.PackageManager.ErrorCode.None)
            {
                Log.Warn(LogTag, "Failed to get package author from " + archivePath);
            }
            err = Interop.PackageArchive.PackageArchiveInfoGetIcon(handle, out packageArchive._icon, out packageArchive._iconSize);
            if (err != Interop.PackageManager.ErrorCode.None)
            {
                Log.Warn(LogTag, "Failed to get package author from " + archivePath);
            }
            packageArchive._dependency_to = GetPackageArchiveDependencyInformation(handle);

            return(packageArchive);
        }
Exemple #2
0
        internal static PackageArchive GetPackageArchive(string archivePath)
        {
            IntPtr packageArchiveInfoHandle;

            Interop.PackageManager.ErrorCode err = Interop.PackageArchive.PackageArchiveInfoCreate(archivePath, out packageArchiveInfoHandle);
            if (err != Interop.PackageManager.ErrorCode.None)
            {
                throw PackageManagerErrorFactory.GetException(err, string.Format("Failed to create native handle for package archive info of {0}", archivePath));
            }

            PackageArchive packageArchive = CreatePackageArchive(packageArchiveInfoHandle, archivePath);

            err = Interop.PackageArchive.PackageArchiveInfoDestroy(packageArchiveInfoHandle);
            if (err != Interop.PackageManager.ErrorCode.None)
            {
                Log.Warn(LogTag, string.Format("Failed to destroy native handle for package archive info of {0}. err = {1}", archivePath, err));
            }
            return(packageArchive);
        }