2019-03-08 13:38:44 +08:00
|
|
|
package customskinloader.plugin;
|
|
|
|
|
|
2021-05-25 12:55:42 +08:00
|
|
|
import java.util.List;
|
|
|
|
|
|
2021-04-24 10:33:18 +08:00
|
|
|
import customskinloader.config.SkinSiteProfile;
|
2019-03-08 13:38:44 +08:00
|
|
|
import customskinloader.loader.ProfileLoader;
|
|
|
|
|
|
|
|
|
|
public interface ICustomSkinLoaderPlugin {
|
2021-05-25 12:55:42 +08:00
|
|
|
/**
|
|
|
|
|
* @return return a non-null value if need to add a new profile loader, otherwise return null.
|
|
|
|
|
*/
|
2019-03-08 13:38:44 +08:00
|
|
|
ProfileLoader.IProfileLoader getProfileLoader();
|
2021-04-24 10:33:18 +08:00
|
|
|
|
2021-05-25 12:55:42 +08:00
|
|
|
/**
|
|
|
|
|
* @return the default implementations which import by {@link ICustomSkinLoaderPlugin#getProfileLoader()}.
|
|
|
|
|
*/
|
|
|
|
|
List<IDefaultProfile> getDefaultProfiles();
|
|
|
|
|
|
|
|
|
|
interface IDefaultProfile {
|
|
|
|
|
/**
|
|
|
|
|
* @return the name of {@link SkinSiteProfile#name}.
|
|
|
|
|
*/
|
|
|
|
|
String getName();
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return the lower the number, the first to load.
|
|
|
|
|
*/
|
|
|
|
|
int getPriority();
|
2021-04-24 10:33:18 +08:00
|
|
|
|
2021-05-25 12:55:42 +08:00
|
|
|
/**
|
|
|
|
|
* Complete the {@link SkinSiteProfile} from config and write to config.
|
|
|
|
|
*/
|
|
|
|
|
void updateSkinSiteProfile(SkinSiteProfile ssp);
|
|
|
|
|
}
|
2019-03-08 13:38:44 +08:00
|
|
|
}
|