package com.mobilesorcery.sdk.capabilities.core; import com.mobilesorcery.sdk.core.ICapabilities; import com.mobilesorcery.sdk.core.MoSyncProject; /** * Matches a set of capabilities 'requests' (ie the capabilites required * by the project to build properly), with a set of capabilities 'providers', * which are capabilities in the project, the typical example being * the capabilities of the device such as "Location" or "Bluetooth". * @author Mattias Bybro, mattias.bybro@purplescout.se * */ public interface ICapabilitiesMatcher { /** * Performs a match of capabilities 'requests' and 'providers' and * returns a <code>IChangeRequest</code>, which basically * is an operations that will change some aspect of the project for which * the requests and providers originated. * @param requests * @return <code>null</code> if the project already fulfills the required capabilites */ public IChangeRequest match(MoSyncProject project, ICapabilities requestedCapabilites); }