X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.osgi.boot%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fa2%2FProvisioningSource.java;fp=org.argeo.osgi.boot%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fa2%2FProvisioningSource.java;h=7d6fadf7ba95e9e0d64fe0a7368bb2da79e06305;hb=79e0a2a5d751c7c077e52f9ee54469656dc96a44;hp=0000000000000000000000000000000000000000;hpb=c155192cfcd5ca355eb933fa3f55dbad6d01b958;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.osgi.boot/src/org/argeo/osgi/a2/ProvisioningSource.java b/org.argeo.osgi.boot/src/org/argeo/osgi/a2/ProvisioningSource.java new file mode 100644 index 000000000..7d6fadf7b --- /dev/null +++ b/org.argeo.osgi.boot/src/org/argeo/osgi/a2/ProvisioningSource.java @@ -0,0 +1,21 @@ +package org.argeo.osgi.a2; + +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.Version; + +/** Where components are retrieved from. */ +public interface ProvisioningSource { + /** List all contributions of this source. */ + Iterable listContributions(Object filter); + + /** Install a module in the OSGi runtime. */ + Bundle install(BundleContext bc, A2Module module); + + /** Update a module in the OSGi runtime. */ + void update(Bundle bundle, A2Module module); + + /** Finds the {@link A2Branch} related to this component and version. */ + A2Branch findBranch(String componentId, Version version); + +}