/**
* @param callable(Manifest, AppEntity, Context): void $callback
*/
protected function forEachInstalledApp(Context
$context, callable
$callback): void
{ $manifests =
$this->appLoader->
load();
/** @var AppCollection $apps */
$apps =
$this->appRepository->
search(new Criteria(),
$context)->
getEntities();
foreach ($manifests as $manifest) { $app =
$this->
getAppForManifest($manifest,
$apps);
if (!
$app || !
$manifest->
getSetup()) { continue;
} $callback($manifest,
$app,
$context);
} } protected function reRegisterApp(Manifest
$manifest, AppEntity
$app, Context
$context): void
{