#ifdef __HAIKU__ // clang-format off #include "src/core/package.hpp" #include // BPackageKit::BPackageInfoSet #include // BPackageKit::BPackageInfo #include // BPackageKit::BPackageRoster #include "src/util/defs.hpp" // clang-format on namespace package { fn GetPackageCount() -> Result { BPackageKit::BPackageRoster roster; BPackageKit::BPackageInfoSet packageList; const status_t status = roster.GetActivePackages(BPackageKit::B_PACKAGE_INSTALLATION_LOCATION_SYSTEM, packageList); if (status != B_OK) return Err(DracError(DracErrorCode::ApiUnavailable, "Failed to get active package list")); return static_cast(packageList.CountInfos()); } } // namespace package #endif // __HAIKU__