/* * Created on Jan 27, 2009 * Created by Paul Gardner * * Copyright 2009 Vuze, Inc. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 2 of the License only. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. */ package com.aelitis.azureus.core.devices; import java.io.IOException; import java.net.InetAddress; import java.net.URL; import com.aelitis.azureus.core.vuzefile.VuzeFile; public interface Device { public static final int DT_UNKNOWN = 0; public static final int DT_INTERNET_GATEWAY = 1; public static final int DT_CONTENT_DIRECTORY = 2; public static final int DT_MEDIA_RENDERER = 3; public static final int DT_INTERNET = 4; public static final int DT_OFFLINE_DOWNLOADER = 5; public int getType(); public String getID(); public String getName(); public void setName( String name, boolean isAutomaticName); public String getClassification(); public String getShortDescription(); public void alive(); public boolean isAlive(); public boolean isLivenessDetectable(); public boolean isBusy(); public boolean isManual(); public void setHidden( boolean is_hidden ); public boolean isHidden(); public void setTagged( boolean is_tagged ); public boolean isTagged(); public boolean isBrowsable(); public browseLocation[] getBrowseLocations(); public InetAddress getAddress(); public void setAddress( InetAddress address ); public void setTransientProperty( Object key, Object value ); public Object getTransientProperty( Object key ); /** * Array of resource strings and their associated values * @return */ public String[][] getDisplayProperties(); public void requestAttention(); public void remove(); public void setCanRemove( boolean can ); public boolean canRemove(); public String getInfo(); public String getError(); public String getStatus(); public void addListener( DeviceListener listener ); public void removeListener( DeviceListener listener ); public String getString(); interface browseLocation { public String getName(); public URL getURL(); } public boolean isGenericUSB(); public void setGenericUSB(boolean b); public String getImageID(); public void setImageID(String id); public boolean isNameAutomatic(); public void setExportable( boolean b ); public boolean isExportable(); public URL getWikiURL(); public VuzeFile getVuzeFile() throws IOException; public TranscodeProfile[] getDirectTranscodeProfiles(); }