Class DeviceImpl

  • All Implemented Interfaces:
    Device
    Direct Known Subclasses:
    DeviceUPnPImpl

    public abstract class DeviceImpl
    extends java.lang.Object
    implements Device
    • Field Detail

      • device_renames

        private static java.util.List<java.util.regex.Pattern> device_renames
      • PP_REND_WORK_DIR

        private static final java.lang.String PP_REND_WORK_DIR
        See Also:
        Constant Field Values
      • PP_REND_DEF_TRANS_PROF

        private static final java.lang.String PP_REND_DEF_TRANS_PROF
        See Also:
        Constant Field Values
      • PP_REND_TRANS_REQ

        private static final java.lang.String PP_REND_TRANS_REQ
        See Also:
        Constant Field Values
      • PP_REND_TRANS_CACHE

        private static final java.lang.String PP_REND_TRANS_CACHE
        See Also:
        Constant Field Values
      • PP_REND_TAG_SHARE

        private static final java.lang.String PP_REND_TAG_SHARE
        See Also:
        Constant Field Values
      • PP_REND_SHOW_CAT

        protected static final java.lang.String PP_REND_SHOW_CAT
        See Also:
        Constant Field Values
      • PP_REND_CLASSIFICATION

        protected static final java.lang.String PP_REND_CLASSIFICATION
        See Also:
        Constant Field Values
      • PP_DONT_AUTO_HIDE

        protected static final java.lang.String PP_DONT_AUTO_HIDE
        See Also:
        Constant Field Values
      • PP_FILTER_FILES

        protected static final java.lang.String PP_FILTER_FILES
        See Also:
        Constant Field Values
      • PP_RESTRICT_ACCESS

        protected static final java.lang.String PP_RESTRICT_ACCESS
        See Also:
        Constant Field Values
      • PP_COPY_OUTSTANDING

        protected static final java.lang.String PP_COPY_OUTSTANDING
        See Also:
        Constant Field Values
      • PP_COPY_TO_FOLDER

        protected static final java.lang.String PP_COPY_TO_FOLDER
        See Also:
        Constant Field Values
      • PP_LIVENESS_DETECTABLE

        protected static final java.lang.String PP_LIVENESS_DETECTABLE
        See Also:
        Constant Field Values
      • PP_TIVO_MACHINE

        protected static final java.lang.String PP_TIVO_MACHINE
        See Also:
        Constant Field Values
      • PP_OD_SHOWN_FTUX

        protected static final java.lang.String PP_OD_SHOWN_FTUX
        See Also:
        Constant Field Values
      • PP_OD_MANUFACTURER

        protected static final java.lang.String PP_OD_MANUFACTURER
        See Also:
        Constant Field Values
      • PP_OD_STATE_CACHE

        protected static final java.lang.String PP_OD_STATE_CACHE
        See Also:
        Constant Field Values
      • PP_OD_XFER_CACHE

        protected static final java.lang.String PP_OD_XFER_CACHE
        See Also:
        Constant Field Values
      • PP_OD_UPNP_DISC_CACHE

        protected static final java.lang.String PP_OD_UPNP_DISC_CACHE
        See Also:
        Constant Field Values
      • PR_AUTO_START_DEFAULT

        protected static final boolean PR_AUTO_START_DEFAULT
        See Also:
        Constant Field Values
      • PP_AUTO_COPY_DEFAULT

        protected static final boolean PP_AUTO_COPY_DEFAULT
        See Also:
        Constant Field Values
      • KEY_FILE_ALLOC_ERROR

        private static final java.lang.Object KEY_FILE_ALLOC_ERROR
      • type

        private int type
      • uid

        private java.lang.String uid
      • secondary_uid

        private java.lang.String secondary_uid
      • classification

        private java.lang.String classification
      • name

        private java.lang.String name
      • manual

        private boolean manual
      • hidden

        private boolean hidden
      • auto_hidden

        private boolean auto_hidden
      • isGenericUSB

        private boolean isGenericUSB
      • last_seen

        private long last_seen
      • can_remove

        private boolean can_remove
      • tagged

        private boolean tagged
      • busy_count

        private int busy_count
      • online

        private boolean online
      • transcoding

        private boolean transcoding
      • persistent_properties

        private java.util.Map<java.lang.String,​java.lang.Object> persistent_properties
      • transient_properties

        private java.util.Map<java.lang.Object,​java.lang.Object> transient_properties
      • device_files_last_mod

        long device_files_last_mod
      • device_files_dirty

        boolean device_files_dirty
      • device_files

        java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​?>> device_files
      • device_files_ref

        private java.lang.ref.WeakReference<java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​?>>> device_files_ref
      • errors

        private java.util.Map<java.lang.Object,​java.lang.String> errors
      • infos

        private java.util.Map<java.lang.Object,​java.lang.String> infos
      • image_id

        private java.lang.String image_id
      • isNameAutomatic

        private boolean isNameAutomatic
    • Constructor Detail

      • DeviceImpl

        protected DeviceImpl​(DeviceManagerImpl _manager,
                             int _type,
                             java.lang.String _uid,
                             java.lang.String _classification,
                             boolean _manual)
      • DeviceImpl

        protected DeviceImpl​(DeviceManagerImpl _manager,
                             int _type,
                             java.lang.String _uid,
                             java.lang.String _classification,
                             boolean _manual,
                             java.lang.String _name)
      • DeviceImpl

        protected DeviceImpl​(DeviceManagerImpl _manager,
                             java.util.Map map)
                      throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • importFromBEncodedMapStatic

        protected static DeviceImpl importFromBEncodedMapStatic​(DeviceManagerImpl manager,
                                                                java.util.Map map)
                                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • modifyDeviceDisplayName

        private static java.lang.String modifyDeviceDisplayName​(java.lang.String name)
      • exportToBEncodedMap

        protected void exportToBEncodedMap​(java.util.Map map,
                                           boolean for_export)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • updateFrom

        protected boolean updateFrom​(DeviceImpl other,
                                     boolean is_alive)
      • setExportable

        public void setExportable​(boolean b)
        Specified by:
        setExportable in interface Device
      • isExportable

        public boolean isExportable()
        Specified by:
        isExportable in interface Device
      • getVuzeFile

        public VuzeFile getVuzeFile()
                             throws java.io.IOException
        Specified by:
        getVuzeFile in interface Device
        Throws:
        java.io.IOException
      • initialise

        protected void initialise()
      • destroy

        protected void destroy()
      • getType

        public int getType()
        Specified by:
        getType in interface Device
      • getID

        public java.lang.String getID()
        Specified by:
        getID in interface Device
      • setSecondaryID

        protected void setSecondaryID​(java.lang.String str)
      • getSecondaryID

        protected java.lang.String getSecondaryID()
      • getImageID

        public java.lang.String getImageID()
        Specified by:
        getImageID in interface Device
      • getImageIDs

        public java.util.List<java.lang.String> getImageIDs()
        Specified by:
        getImageIDs in interface Device
      • setImageID

        public void setImageID​(java.lang.String id)
        Specified by:
        setImageID in interface Device
      • getDevice

        public Device getDevice()
      • getName

        public java.lang.String getName()
        Specified by:
        getName in interface Device
      • setName

        public void setName​(java.lang.String _name,
                            boolean isAutomaticName)
        Specified by:
        setName in interface Device
      • getClassification

        public java.lang.String getClassification()
        Specified by:
        getClassification in interface Device
      • getShortDescription

        public java.lang.String getShortDescription()
        Specified by:
        getShortDescription in interface Device
      • getRendererSpecies

        public int getRendererSpecies()
      • getDeviceClassification

        protected java.lang.String getDeviceClassification()
      • isNonSimple

        public boolean isNonSimple()
      • isManual

        public boolean isManual()
        Specified by:
        isManual in interface Device
      • isHidden

        public boolean isHidden()
        Specified by:
        isHidden in interface Device
      • setHidden

        public void setHidden​(boolean h)
        Specified by:
        setHidden in interface Device
      • isAutoHidden

        public boolean isAutoHidden()
      • setAutoHidden

        public void setAutoHidden​(boolean h)
      • isTagged

        public boolean isTagged()
        Specified by:
        isTagged in interface Device
      • setTagged

        public void setTagged​(boolean t)
        Specified by:
        setTagged in interface Device
      • isGenericUSB

        public boolean isGenericUSB()
        Specified by:
        isGenericUSB in interface Device
      • setGenericUSB

        public void setGenericUSB​(boolean is)
        Specified by:
        setGenericUSB in interface Device
      • getLastSeen

        public long getLastSeen()
      • alive

        public void alive()
        Specified by:
        alive in interface Device
      • isAlive

        public boolean isAlive()
        Specified by:
        isAlive in interface Device
      • dead

        protected void dead()
      • getWikiURL

        public java.net.URL getWikiURL()
        Specified by:
        getWikiURL in interface Device
      • setDirty

        protected void setDirty()
      • setDirty

        protected void setDirty​(boolean save_changes)
      • updateStatus

        protected void updateStatus​(int tick_count)
      • getFileCount

        public int getFileCount()
      • allocateUniqueFileName

        protected java.lang.String allocateUniqueFileName​(java.lang.String str)
      • getTranscodeFile

        protected TranscodeFileImpl getTranscodeFile​(java.lang.String key)
      • getWorkingDirectory

        public java.io.File getWorkingDirectory()
      • getWorkingDirectory

        public java.io.File getWorkingDirectory​(boolean persist)
      • setWorkingDirectory

        public void setWorkingDirectory​(java.io.File directory)
      • resetWorkingDirectory

        protected void resetWorkingDirectory()
      • getTranscodeProfiles

        public TranscodeProfile[] getTranscodeProfiles​(boolean walkup)
      • getTranscodeProfiles

        private TranscodeProfile[] getTranscodeProfiles​(java.lang.String classification)
      • getDefaultTranscodeProfile

        public TranscodeProfile getDefaultTranscodeProfile()
      • setDefaultTranscodeProfile

        public void setDefaultTranscodeProfile​(TranscodeProfile profile)
      • setTranscoding

        protected void setTranscoding​(boolean _transcoding)
      • isTranscoding

        public boolean isTranscoding()
      • getTranscodeRequirement

        public int getTranscodeRequirement()
      • setTranscodeRequirement

        public void setTranscodeRequirement​(int req)
      • isAudioCompatible

        public boolean isAudioCompatible​(TranscodeFile file)
      • getAlwaysCacheFiles

        public boolean getAlwaysCacheFiles()
      • setAlwaysCacheFiles

        public void setAlwaysCacheFiles​(boolean always_cache)
      • isRSSPublishEnabled

        public boolean isRSSPublishEnabled()
      • setRSSPublishEnabled

        public void setRSSPublishEnabled​(boolean enabled)
      • getAutoShareToTagID

        public long getAutoShareToTagID()
      • setAutoShareToTagID

        public void setAutoShareToTagID​(long id)
      • getDisplayProperties

        public java.lang.String[][] getDisplayProperties()
        Description copied from interface: Device
        Array of resource strings and their associated values
        Specified by:
        getDisplayProperties in interface Device
        Returns:
      • getDisplayProperties

        protected void getDisplayProperties​(java.util.List<java.lang.String[]> dp)
      • getTTDisplayProperties

        protected void getTTDisplayProperties​(java.util.List<java.lang.String[]> dp)
      • addDP

        protected void addDP​(java.util.List<java.lang.String[]> dp,
                             java.lang.String name,
                             java.lang.String value)
      • addDP

        protected void addDP​(java.util.List<java.lang.String[]> dp,
                             java.lang.String name,
                             java.io.File value)
      • addDP

        protected void addDP​(java.util.List<java.lang.String[]> dp,
                             java.lang.String name,
                             java.lang.String[] values)
      • addDP

        protected void addDP​(java.util.List<java.lang.String[]> dp,
                             java.lang.String name,
                             boolean value)
      • addDP

        protected void addDP​(java.util.List<java.lang.String[]> dp,
                             java.lang.String name,
                             TranscodeProfile value)
      • addDP

        protected void addDP​(java.util.List<java.lang.String[]> dp,
                             java.lang.String name,
                             TranscodeProfile[] values)
      • setCanRemove

        public void setCanRemove​(boolean can)
        Specified by:
        setCanRemove in interface Device
      • canRemove

        public boolean canRemove()
        Specified by:
        canRemove in interface Device
      • isBusy

        public boolean isBusy()
        Specified by:
        isBusy in interface Device
      • setBusy

        protected void setBusy​(boolean busy)
      • remove

        public void remove()
        Specified by:
        remove in interface Device
      • getPersistentStringProperty

        public java.lang.String getPersistentStringProperty​(java.lang.String prop)
      • getPersistentStringProperty

        public java.lang.String getPersistentStringProperty​(java.lang.String prop,
                                                            java.lang.String def)
      • setPersistentStringProperty

        public void setPersistentStringProperty​(java.lang.String prop,
                                                java.lang.String value)
      • getPersistentMapProperty

        public <T> java.util.Map<java.lang.String,​T> getPersistentMapProperty​(java.lang.String prop,
                                                                                    java.util.Map<java.lang.String,​T> def)
      • setPersistentMapProperty

        public <T> void setPersistentMapProperty​(java.lang.String prop,
                                                 java.util.Map<java.lang.String,​T> value)
      • removePersistentProperty

        public void removePersistentProperty​(java.lang.String prop)
      • getError

        public java.lang.String getError()
        Specified by:
        getError in interface Device
      • setError

        protected void setError​(java.lang.Object key,
                                java.lang.String error)
      • getInfo

        public java.lang.String getInfo()
        Specified by:
        getInfo in interface Device
      • setInfo

        protected void setInfo​(java.lang.Object key,
                               java.lang.String info)
      • getStatus

        public java.lang.String getStatus()
        Specified by:
        getStatus in interface Device
      • getPersistentBooleanProperty

        public boolean getPersistentBooleanProperty​(java.lang.String prop,
                                                    boolean def)
      • setPersistentBooleanProperty

        public void setPersistentBooleanProperty​(java.lang.String prop,
                                                 boolean value)
      • getPersistentLongProperty

        public long getPersistentLongProperty​(java.lang.String prop,
                                              long def)
      • setPersistentLongProperty

        public void setPersistentLongProperty​(java.lang.String prop,
                                              long value)
      • getPersistentIntProperty

        public int getPersistentIntProperty​(java.lang.String prop,
                                            int def)
      • setPersistentIntProperty

        public void setPersistentIntProperty​(java.lang.String prop,
                                             int value)
      • getPersistentStringListProperty

        public java.lang.String[] getPersistentStringListProperty​(java.lang.String prop)
      • setPersistentStringListProperty

        public void setPersistentStringListProperty​(java.lang.String prop,
                                                    java.lang.String[] values)
      • setTransientProperty

        public void setTransientProperty​(java.lang.Object key,
                                         java.lang.Object value)
        Specified by:
        setTransientProperty in interface Device
      • getTransientProperty

        public java.lang.Object getTransientProperty​(java.lang.Object key)
        Specified by:
        getTransientProperty in interface Device
      • setTransientProperty

        public void setTransientProperty​(java.lang.Object key1,
                                         java.lang.Object key2,
                                         java.lang.Object value)
      • getTransientProperty

        public java.lang.Object getTransientProperty​(java.lang.Object key1,
                                                     java.lang.Object key2)
      • close

        protected void close()
      • loadDeviceFile

        protected void loadDeviceFile()
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • getStreamURL

        protected java.net.URL getStreamURL​(TranscodeFileImpl file,
                                            java.lang.String host)
      • fileDirty

        protected void fileDirty​(TranscodeFileImpl file,
                                 int type,
                                 java.lang.Object data)
      • saveDeviceFile

        protected void saveDeviceFile()
      • getDeviceFile

        protected java.io.File getDeviceFile()
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • getDevicesDir

        protected java.io.File getDevicesDir()
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • fireChanged

        protected void fireChanged()
      • log

        protected void log​(java.lang.String str)
      • log

        protected void log​(java.lang.String str,
                           java.lang.Throwable e)
      • getString

        public java.lang.String getString()
        Specified by:
        getString in interface Device
      • generateTT

        public void generateTT​(IndentWriter writer)