*/
using System;
+using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace Tizen.Applications
private string _author = string.Empty;
private IntPtr _icon = IntPtr.Zero;
private int _iconSize = 0;
+ private List<PackageDependencyInformation> _dependency_to;
private PackageArchive(string archivePath)
{
}
}
+ /// <summary>
+ /// Packages that this package is required.
+ /// </summary>
+ /// <since_tizen> 6 </since_tizen>
+ public List<PackageDependencyInformation> DependencyTo { get { return _dependency_to; } }
+
// This method assumes that given arguments are already validated and have valid values.
internal static PackageArchive CreatePackageArchive(IntPtr handle, string archivePath)
{
{
Log.Warn(LogTag, "Failed to get package author from " + archivePath);
}
+ packageArchive._dependency_to = GetPackageArchiveDependencyInformation(handle);
return packageArchive;
}
}
return packageArchive;
}
+
+ private static List<PackageDependencyInformation> GetPackageArchiveDependencyInformation(IntPtr handle)
+ {
+ List<PackageDependencyInformation> dependencies = new List<PackageDependencyInformation>();
+ Interop.Package.PackageInfoDependencyInfoCallback dependencyInfoCb = (from, to, type, requiredVersion, userData) =>
+ {
+ dependencies.Add(PackageDependencyInformation.GetPackageDependencyInformation(from, to, type, requiredVersion));
+ return true;
+ };
+
+ Interop.PackageManager.ErrorCode err = Interop.PackageArchive.PackageArchiveInfoForeachDirectDependency(handle, dependencyInfoCb, IntPtr.Zero);
+ if (err != Interop.PackageManager.ErrorCode.None)
+ {
+ Log.Warn(LogTag, string.Format("Failed to get dependency info. err = {0}", err));
+ }
+ return dependencies;
+ }
}
}