diff --git a/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudCloudContentRepositoryFactory.java b/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudCloudContentRepositoryFactory.java new file mode 100644 index 00000000..a666af0c --- /dev/null +++ b/data/src/main/java/org/cryptomator/data/cloud/pcloud/PCloudCloudContentRepositoryFactory.java @@ -0,0 +1,35 @@ +package org.cryptomator.data.cloud.pcloud; + +import android.content.Context; + +import org.cryptomator.data.repository.CloudContentRepositoryFactory; +import org.cryptomator.domain.Cloud; +import org.cryptomator.domain.PCloudCloud; +import org.cryptomator.domain.repository.CloudContentRepository; + +import javax.inject.Inject; +import javax.inject.Singleton; + +import static org.cryptomator.domain.CloudType.PCLOUD; + +@Singleton +public class PCloudCloudContentRepositoryFactory implements CloudContentRepositoryFactory { + + private final Context context; + + @Inject + public PCloudCloudContentRepositoryFactory(Context context) { + this.context = context; + } + + @Override + public boolean supports(Cloud cloud) { + return cloud.type() == PCLOUD; + } + + @Override + public CloudContentRepository cloudContentRepositoryFor(Cloud cloud) { + return new PCloudCloudContentRepository((PCloudCloud) cloud, context); + } + +}