package org.torrent.internal.transfer.event;
import java.beans.IndexedPropertyChangeEvent;
import java.beans.PropertyChangeEvent;
import org.torrent.internal.data.BTPart;
import org.torrent.internal.data.TorrentMetaInfo.Piece;
import org.torrent.internal.service.ContentStateListener;
public interface BitfieldListener {
/**
* Invoked if a single bit of a bit field might have been modified. To check
* if the bit really has been modified use the ChangeEvent's getter methods.
*
* @param event
*/
void bitFieldBitChanged(IndexedPropertyChangeEvent event);
void bitFieldChanged(PropertyChangeEvent event);
void setRequired(Piece piece);
void setValidated(Piece piece);
boolean isAvailable(BTPart part);
boolean isRequired(Piece piece);
boolean isValidated(Piece piece);
//1
void addContentStateListener(ContentStateListener listener);
void removeContentStateListener(ContentStateListener listener);
void setAvailable(BTPart part);
}