package cgeo.geocaching.connector.trackable; import cgeo.geocaching.models.Geocache; import cgeo.geocaching.models.Image; import cgeo.geocaching.connector.ImageResult; import cgeo.geocaching.connector.LogResult; import cgeo.geocaching.log.LogTypeTrackable; import cgeo.geocaching.log.TrackableLog; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import java.util.Calendar; import java.util.List; public interface TrackableLoggingManager { /** * Post a log for a trackable online */ LogResult postLog(Geocache cache, TrackableLog trackableLog, Calendar date, String log); @Nullable ImageResult postLogImage(String logId, Image image); @NonNull List<LogTypeTrackable> getPossibleLogTypesTrackable(); boolean canLogTime(); boolean canLogCoordinates(); void setGuid(final String guid); boolean isTrackingCodeNeededToPostNote(); boolean postReady(); }