Package com.biglybt.core.devices.impl
Class DeviceManagerImpl
- java.lang.Object
-
- com.biglybt.core.devices.impl.DeviceManagerImpl
-
- All Implemented Interfaces:
DeviceManager
,AEDiagnosticsEvidenceGenerator
,PowerManagementListener
public class DeviceManagerImpl extends java.lang.Object implements DeviceManager, PowerManagementListener, AEDiagnosticsEvidenceGenerator
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
DeviceManagerImpl.DeviceManufacturerImpl
-
Nested classes/interfaces inherited from interface com.biglybt.core.devices.DeviceManager
DeviceManager.DeviceManufacturer, DeviceManager.UnassociatedDevice
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
AUTO_HIDE_OLD_CONFIG_KEY
(package private) int
auto_hide_old_days
private static int
AUTO_HIDE_OLD_DAYS_DEFAULT
(package private) boolean
auto_search
private static java.lang.String
AUTO_SEARCH_CONFIG_KEY
(package private) boolean
closing
private static java.lang.String
CONFIG_DEFAULT_WORK_DIR
(package private) boolean
config_dirty
private static java.lang.String
CONFIG_DISABLE_SLEEP
private static java.lang.String
CONFIG_FILE
(package private) boolean
config_unclean
private Core
core
protected static int
DEVICE_AUTO_HIDE_CHECK_PERIOD
protected static int
DEVICE_AUTO_HIDE_CHECK_TICKS
(package private) java.util.List<DeviceImpl>
device_list
private java.util.Map<java.lang.String,DeviceImpl>
device_map
protected static int
DEVICE_UPDATE_PERIOD
private java.util.Set<Device>
disable_events
private CopyOnWriteList<DeviceManagerDiscoveryListener>
discovery_listeners
(package private) DeviceDriveManager
drive_manager
(package private) int
explicit_search
private int
getMimeType_fails
private AESemaphore
init_sem
private boolean
initialized
private ListenerManager<DeviceManagerListener>
listeners
private java.lang.String
local_service_name
private AEDiagnosticsLogger
logger
private java.lang.Object
logger_lock
private static java.lang.String
LOGGER_NAME
private java.lang.Object
lsn_lock
private static int
LT_DEVICE_ADDED
private static int
LT_DEVICE_ATTENTION
private static int
LT_DEVICE_CHANGED
private static int
LT_DEVICE_REMOVED
private static int
LT_INITIALIZED
private static java.lang.String
OD_ENABLED_CONFIG_KEY
private static java.lang.String
OD_INCLUDE_PRIVATE_CONFIG_KEY
private static java.lang.String
OD_IS_AUTO_CONFIG_KEY
private TorrentAttribute
od_manual_ta
private static boolean
pre_initialised
private static java.lang.String
RSS_ENABLE_CONFIG_KEY
private DeviceManagerRSSFeed
rss_publisher
private static DeviceManagerImpl
singleton
(package private) DeviceTivoManager
tivo_manager
private static java.lang.String
TRANSCODE_DIR_DEFAULT
(package private) TranscodeManagerImpl
transcode_manager
(package private) DeviceManagerUPnPImpl
upnp_manager
-
Fields inherited from interface com.biglybt.core.devices.DeviceManager
CONFIG_VIEW_HIDE_REND_GENERIC, CONFIG_VIEW_SHOW_ONLY_TAGGED
-
Fields inherited from interface com.biglybt.pif.utils.PowerManagementListener
ST_SLEEP
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DeviceManagerImpl()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected DeviceImpl
addDevice(DeviceImpl device)
protected DeviceImpl
addDevice(DeviceImpl device, boolean is_alive)
void
addDiscoveryListener(DeviceManagerDiscoveryListener listener)
Device
addInetDevice(int type, java.lang.String uid, java.lang.String classification, java.lang.String name, java.net.InetAddress address)
void
addListener(DeviceManagerListener listener)
Device
addVirtualDevice(int type, java.lang.String uid, java.lang.String classification, java.lang.String name)
protected void
applyUpdates(DeviceImpl device)
protected boolean
browseReceived(TrackerWebPageRequest request, java.util.Map<java.lang.String,java.lang.Object> browser_args)
protected void
configDirty()
protected void
configDirty(DeviceImpl device, boolean save_changes)
protected Device
createDevice(int device_type, java.lang.String uid, java.lang.String classification, java.lang.String name, boolean manual)
protected void
deviceAdded(DeviceImpl device)
protected void
deviceChanged(DeviceImpl device, boolean save_changes)
protected void
deviceRemoved(DeviceImpl device)
private TranscodeManager
ensureInitialised(boolean partial)
protected VuzeFile
exportVuzeFile(DeviceImpl device)
Device
findDevice(UPnPDevice upnpDevice)
void
generate(IndentWriter writer)
int
getAutoHideOldDevicesDays()
boolean
getAutoSearch()
protected Core
getCore()
java.io.File
getDefaultWorkingDirectory()
java.io.File
getDefaultWorkingDirectory(boolean persist)
protected DeviceImpl
getDevice(java.lang.String id)
DeviceManager.DeviceManufacturer[]
getDeviceManufacturers(int device_type)
DeviceImpl[]
getDevices()
DeviceTemplate[]
getDeviceTemplates(int device_type)
boolean
getDisableSleep()
java.lang.String
getLocalServiceName()
protected AEDiagnosticsLogger
getLogger()
protected java.lang.String
getMimeType(TranscodeFileImpl file)
private java.lang.String
getOptionalLC(java.lang.String str)
java.lang.String
getPowerName()
TranscodeProvider[]
getProviders()
java.lang.String
getRSSLink()
static DeviceManager
getSingleton()
protected java.net.URL
getStreamURL(TranscodeFileImpl file, java.lang.String host)
TranscodeManagerImpl
getTranscodeManager()
DeviceManager.UnassociatedDevice[]
getUnassociatedDevices()
protected DeviceManagerUPnPImpl
getUPnPManager()
(package private) void
importVuzeFile(java.util.Map map, boolean warn_user)
void
informPowerStateChange(int new_state, java.lang.Object data)
(package private) void
initWithCore(Core _core)
boolean
isBusy(int device_type)
protected boolean
isClosing()
protected boolean
isExplicitSearch()
boolean
isRSSPublishEnabled()
boolean
isTiVoEnabled()
boolean
isTranscodeManagerInitialized()
protected void
loadConfig()
void
log(java.lang.String s)
void
log(java.lang.String s, java.lang.Throwable e)
static void
preInitialise()
protected void
removeDevice(DeviceImpl device)
void
removeDiscoveryListener(DeviceManagerDiscoveryListener listener)
void
removeListener(DeviceManagerListener listener)
protected void
requestAttention(DeviceImpl device)
boolean
requestPowerStateChange(int new_state, java.lang.Object data)
protected void
saveConfig()
void
search(int millis, DeviceSearchListener listener)
void
setAutoHideOldDevicesDays(int days)
void
setAutoSearch(boolean auto)
void
setDefaultWorkingDirectory(java.io.File dir)
void
setDisableSleep(boolean b)
void
setRSSPublishEnabled(boolean enabled)
void
setTiVoEnabled(boolean enabled)
protected void
UPnPManagerStarted()
-
-
-
Field Detail
-
LOGGER_NAME
private static final java.lang.String LOGGER_NAME
- See Also:
- Constant Field Values
-
CONFIG_FILE
private static final java.lang.String CONFIG_FILE
- See Also:
- Constant Field Values
-
AUTO_SEARCH_CONFIG_KEY
private static final java.lang.String AUTO_SEARCH_CONFIG_KEY
- See Also:
- Constant Field Values
-
AUTO_HIDE_OLD_DAYS_DEFAULT
private static final int AUTO_HIDE_OLD_DAYS_DEFAULT
- See Also:
- Constant Field Values
-
AUTO_HIDE_OLD_CONFIG_KEY
private static final java.lang.String AUTO_HIDE_OLD_CONFIG_KEY
- See Also:
- Constant Field Values
-
RSS_ENABLE_CONFIG_KEY
private static final java.lang.String RSS_ENABLE_CONFIG_KEY
- See Also:
- Constant Field Values
-
OD_ENABLED_CONFIG_KEY
private static final java.lang.String OD_ENABLED_CONFIG_KEY
- See Also:
- Constant Field Values
-
OD_IS_AUTO_CONFIG_KEY
private static final java.lang.String OD_IS_AUTO_CONFIG_KEY
- See Also:
- Constant Field Values
-
OD_INCLUDE_PRIVATE_CONFIG_KEY
private static final java.lang.String OD_INCLUDE_PRIVATE_CONFIG_KEY
- See Also:
- Constant Field Values
-
TRANSCODE_DIR_DEFAULT
private static final java.lang.String TRANSCODE_DIR_DEFAULT
- See Also:
- Constant Field Values
-
CONFIG_DEFAULT_WORK_DIR
private static final java.lang.String CONFIG_DEFAULT_WORK_DIR
- See Also:
- Constant Field Values
-
CONFIG_DISABLE_SLEEP
private static final java.lang.String CONFIG_DISABLE_SLEEP
- See Also:
- Constant Field Values
-
DEVICE_UPDATE_PERIOD
protected static final int DEVICE_UPDATE_PERIOD
- See Also:
- Constant Field Values
-
DEVICE_AUTO_HIDE_CHECK_PERIOD
protected static final int DEVICE_AUTO_HIDE_CHECK_PERIOD
- See Also:
- Constant Field Values
-
DEVICE_AUTO_HIDE_CHECK_TICKS
protected static final int DEVICE_AUTO_HIDE_CHECK_TICKS
- See Also:
- Constant Field Values
-
pre_initialised
private static boolean pre_initialised
-
singleton
private static DeviceManagerImpl singleton
-
core
private Core core
-
od_manual_ta
private TorrentAttribute od_manual_ta
-
device_list
java.util.List<DeviceImpl> device_list
-
device_map
private java.util.Map<java.lang.String,DeviceImpl> device_map
-
tivo_manager
DeviceTivoManager tivo_manager
-
upnp_manager
DeviceManagerUPnPImpl upnp_manager
-
drive_manager
DeviceDriveManager drive_manager
-
disable_events
private java.util.Set<Device> disable_events
-
LT_DEVICE_ADDED
private static final int LT_DEVICE_ADDED
- See Also:
- Constant Field Values
-
LT_DEVICE_CHANGED
private static final int LT_DEVICE_CHANGED
- See Also:
- Constant Field Values
-
LT_DEVICE_ATTENTION
private static final int LT_DEVICE_ATTENTION
- See Also:
- Constant Field Values
-
LT_DEVICE_REMOVED
private static final int LT_DEVICE_REMOVED
- See Also:
- Constant Field Values
-
LT_INITIALIZED
private static final int LT_INITIALIZED
- See Also:
- Constant Field Values
-
listeners
private ListenerManager<DeviceManagerListener> listeners
-
auto_search
boolean auto_search
-
auto_hide_old_days
int auto_hide_old_days
-
rss_publisher
private DeviceManagerRSSFeed rss_publisher
-
closing
boolean closing
-
config_unclean
boolean config_unclean
-
config_dirty
boolean config_dirty
-
explicit_search
int explicit_search
-
transcode_manager
volatile TranscodeManagerImpl transcode_manager
-
discovery_listeners
private CopyOnWriteList<DeviceManagerDiscoveryListener> discovery_listeners
-
getMimeType_fails
private int getMimeType_fails
-
logger_lock
private java.lang.Object logger_lock
-
logger
private AEDiagnosticsLogger logger
-
init_sem
private AESemaphore init_sem
-
initialized
private volatile boolean initialized
-
lsn_lock
private java.lang.Object lsn_lock
-
local_service_name
private java.lang.String local_service_name
-
-
Method Detail
-
preInitialise
public static void preInitialise()
-
getSingleton
public static DeviceManager getSingleton()
-
ensureInitialised
private TranscodeManager ensureInitialised(boolean partial)
-
initWithCore
void initWithCore(Core _core)
-
UPnPManagerStarted
protected void UPnPManagerStarted()
-
getCore
protected Core getCore()
-
getUPnPManager
protected DeviceManagerUPnPImpl getUPnPManager()
-
getLocalServiceName
public java.lang.String getLocalServiceName()
- Specified by:
getLocalServiceName
in interfaceDeviceManager
-
isTiVoEnabled
public boolean isTiVoEnabled()
- Specified by:
isTiVoEnabled
in interfaceDeviceManager
-
setTiVoEnabled
public void setTiVoEnabled(boolean enabled)
- Specified by:
setTiVoEnabled
in interfaceDeviceManager
-
getProviders
public TranscodeProvider[] getProviders()
-
getDeviceTemplates
public DeviceTemplate[] getDeviceTemplates(int device_type)
- Specified by:
getDeviceTemplates
in interfaceDeviceManager
-
getDeviceManufacturers
public DeviceManager.DeviceManufacturer[] getDeviceManufacturers(int device_type)
- Specified by:
getDeviceManufacturers
in interfaceDeviceManager
-
addVirtualDevice
public Device addVirtualDevice(int type, java.lang.String uid, java.lang.String classification, java.lang.String name) throws DeviceManagerException
- Specified by:
addVirtualDevice
in interfaceDeviceManager
- Throws:
DeviceManagerException
-
addInetDevice
public Device addInetDevice(int type, java.lang.String uid, java.lang.String classification, java.lang.String name, java.net.InetAddress address) throws DeviceManagerException
- Specified by:
addInetDevice
in interfaceDeviceManager
- Throws:
DeviceManagerException
-
createDevice
protected Device createDevice(int device_type, java.lang.String uid, java.lang.String classification, java.lang.String name, boolean manual) throws DeviceManagerException
- Throws:
DeviceManagerException
-
search
public void search(int millis, DeviceSearchListener listener)
- Specified by:
search
in interfaceDeviceManager
-
getDevice
protected DeviceImpl getDevice(java.lang.String id)
-
addDevice
protected DeviceImpl addDevice(DeviceImpl device)
-
addDevice
protected DeviceImpl addDevice(DeviceImpl device, boolean is_alive)
-
applyUpdates
protected void applyUpdates(DeviceImpl device)
-
getOptionalLC
private java.lang.String getOptionalLC(java.lang.String str)
-
removeDevice
protected void removeDevice(DeviceImpl device)
-
isBusy
public boolean isBusy(int device_type)
- Specified by:
isBusy
in interfaceDeviceManager
-
getDevices
public DeviceImpl[] getDevices()
- Specified by:
getDevices
in interfaceDeviceManager
-
getAutoSearch
public boolean getAutoSearch()
- Specified by:
getAutoSearch
in interfaceDeviceManager
-
setAutoSearch
public void setAutoSearch(boolean auto)
- Specified by:
setAutoSearch
in interfaceDeviceManager
-
getAutoHideOldDevicesDays
public int getAutoHideOldDevicesDays()
- Specified by:
getAutoHideOldDevicesDays
in interfaceDeviceManager
-
setAutoHideOldDevicesDays
public void setAutoHideOldDevicesDays(int days)
- Specified by:
setAutoHideOldDevicesDays
in interfaceDeviceManager
-
isRSSPublishEnabled
public boolean isRSSPublishEnabled()
- Specified by:
isRSSPublishEnabled
in interfaceDeviceManager
-
setRSSPublishEnabled
public void setRSSPublishEnabled(boolean enabled)
- Specified by:
setRSSPublishEnabled
in interfaceDeviceManager
-
getRSSLink
public java.lang.String getRSSLink()
- Specified by:
getRSSLink
in interfaceDeviceManager
-
isExplicitSearch
protected boolean isExplicitSearch()
-
isClosing
protected boolean isClosing()
-
loadConfig
protected void loadConfig()
-
configDirty
protected void configDirty(DeviceImpl device, boolean save_changes)
-
configDirty
protected void configDirty()
-
saveConfig
protected void saveConfig()
-
deviceAdded
protected void deviceAdded(DeviceImpl device)
-
deviceChanged
protected void deviceChanged(DeviceImpl device, boolean save_changes)
-
deviceRemoved
protected void deviceRemoved(DeviceImpl device)
-
requestAttention
protected void requestAttention(DeviceImpl device)
-
getStreamURL
protected java.net.URL getStreamURL(TranscodeFileImpl file, java.lang.String host)
-
getMimeType
protected java.lang.String getMimeType(TranscodeFileImpl file)
-
getDefaultWorkingDirectory
public java.io.File getDefaultWorkingDirectory()
- Specified by:
getDefaultWorkingDirectory
in interfaceDeviceManager
-
getDefaultWorkingDirectory
public java.io.File getDefaultWorkingDirectory(boolean persist)
-
setDefaultWorkingDirectory
public void setDefaultWorkingDirectory(java.io.File dir)
- Specified by:
setDefaultWorkingDirectory
in interfaceDeviceManager
-
getDisableSleep
public boolean getDisableSleep()
- Specified by:
getDisableSleep
in interfaceDeviceManager
-
setDisableSleep
public void setDisableSleep(boolean b)
- Specified by:
setDisableSleep
in interfaceDeviceManager
-
getTranscodeManager
public TranscodeManagerImpl getTranscodeManager()
- Specified by:
getTranscodeManager
in interfaceDeviceManager
-
isTranscodeManagerInitialized
public boolean isTranscodeManagerInitialized()
- Specified by:
isTranscodeManagerInitialized
in interfaceDeviceManager
-
getUnassociatedDevices
public DeviceManager.UnassociatedDevice[] getUnassociatedDevices()
- Specified by:
getUnassociatedDevices
in interfaceDeviceManager
-
getPowerName
public java.lang.String getPowerName()
- Specified by:
getPowerName
in interfacePowerManagementListener
-
requestPowerStateChange
public boolean requestPowerStateChange(int new_state, java.lang.Object data)
- Specified by:
requestPowerStateChange
in interfacePowerManagementListener
-
informPowerStateChange
public void informPowerStateChange(int new_state, java.lang.Object data)
- Specified by:
informPowerStateChange
in interfacePowerManagementListener
-
addListener
public void addListener(DeviceManagerListener listener)
- Specified by:
addListener
in interfaceDeviceManager
-
browseReceived
protected boolean browseReceived(TrackerWebPageRequest request, java.util.Map<java.lang.String,java.lang.Object> browser_args)
-
exportVuzeFile
protected VuzeFile exportVuzeFile(DeviceImpl device) throws java.io.IOException
- Throws:
java.io.IOException
-
importVuzeFile
void importVuzeFile(java.util.Map map, boolean warn_user)
-
addDiscoveryListener
public void addDiscoveryListener(DeviceManagerDiscoveryListener listener)
- Specified by:
addDiscoveryListener
in interfaceDeviceManager
-
removeDiscoveryListener
public void removeDiscoveryListener(DeviceManagerDiscoveryListener listener)
- Specified by:
removeDiscoveryListener
in interfaceDeviceManager
-
removeListener
public void removeListener(DeviceManagerListener listener)
- Specified by:
removeListener
in interfaceDeviceManager
-
findDevice
public Device findDevice(UPnPDevice upnpDevice)
- Specified by:
findDevice
in interfaceDeviceManager
- Returns:
-
getLogger
protected AEDiagnosticsLogger getLogger()
-
log
public void log(java.lang.String s, java.lang.Throwable e)
-
log
public void log(java.lang.String s)
-
generate
public void generate(IndentWriter writer)
- Specified by:
generate
in interfaceAEDiagnosticsEvidenceGenerator
-
-