Package com.biglybt.platform.unix
Class PlatformManagerImpl
- java.lang.Object
-
- com.biglybt.platform.unix.PlatformManagerImpl
-
- All Implemented Interfaces:
PlatformManager
,PlatformManager
public class PlatformManagerImpl extends java.lang.Object implements PlatformManager
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.HashSet
capabilitySet
protected static AEMonitor
class_mon
private static LogIDs
LOGID
private static java.lang.Object
migrate_lock
protected static PlatformManagerImpl
singleton
-
Fields inherited from interface com.biglybt.pif.platform.PlatformManager
LOC_DOCUMENTS, LOC_DOWNLOADS, LOC_MUSIC, LOC_USER_DATA, LOC_VIDEO
-
Fields inherited from interface com.biglybt.platform.PlatformManager
ERR_UNSUPPORTED, PT_MACOSX, PT_OTHER, PT_UNIX, PT_WINDOWS, SD_ALL, SD_HIBERNATE, SD_SHUTDOWN, SD_SLEEP, USER_REQUEST_INFO, USER_REQUEST_QUESTION, USER_REQUEST_WARNING
-
-
Constructor Summary
Constructors Constructor Description PlatformManagerImpl()
Creates a new PlatformManager and initializes its capabilities
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(PlatformManagerListener listener)
private void
checkCapability(PlatformManagerCapabilities capability)
void
copyFilePermissions(java.lang.String from_file_name, java.lang.String to_file_name)
void
createProcess(java.lang.String command_line, boolean inherit_handles)
void
dispose()
Disposes system resources.java.lang.String
getApplicationCommandLine()
java.lang.String
getAzComputerID()
java.lang.String
getComputerName()
java.lang.String[]
getExplicitVMOptions()
java.io.File
getLocation(long location_id)
Get a well-known location, if defined for the platformint
getMaxOpenFiles()
This max-open-files concept here is from linux/osx where network connections are treated as 'files'int
getPlatformType()
boolean
getPreventComputerSleep()
boolean
getRunAtLogin()
int
getShutdownTypes()
static PlatformManagerImpl
getSingleton()
Gets the platform manager singleton, which was already initializedjava.lang.String
getUserDataDirectory()
java.lang.String
getVersion()
java.io.File
getVMOptionFile()
boolean
hasCapability(PlatformManagerCapabilities capability)
Gets whether the platform manager supports a capabilityprivate boolean
hasVMOptions()
private static void
initializeSingleton()
Instantiates the singletonboolean
isAdditionalFileTypeRegistered(java.lang.String name, java.lang.String type)
Checks to see if the supplied file type is registered with this applicationboolean
isApplicationRegistered()
java.lang.Class<?>
loadClass(java.lang.ClassLoader loader, java.lang.String class_name)
Gives a particular platform the ability to alter the class-loading methodvoid
performRecoverableFileDelete(java.lang.String file_name)
void
ping(java.net.InetAddress interface_address, java.net.InetAddress target, PlatformManagerPingCallback callback)
void
registerAdditionalFileType(java.lang.String name, java.lang.String description, java.lang.String type, java.lang.String content_type)
Registers a file type with this applicationvoid
registerApplication()
void
removeListener(PlatformManagerListener listener)
void
requestUserAttention(int type, java.lang.Object data)
Requests the user's attention such as bouncing the application icon on OSXvoid
setExplicitVMOptions(java.lang.String[] options)
void
setPreventComputerSleep(boolean b)
void
setRunAtLogin(boolean run)
void
setTCPTOSEnabled(boolean enabled)
enable or disable the platforms support for TCP TOSvoid
showFile(java.lang.String file_name)
Reveals the file or directory with the platform's default browservoid
shutdown(int type)
void
startup(Core core)
boolean
testNativeAvailability(java.lang.String name)
void
traceRoute(java.net.InetAddress interface_address, java.net.InetAddress target, PlatformManagerPingCallback callback)
void
unregisterAdditionalFileType(java.lang.String name, java.lang.String type)
Removes a file-type registration-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.biglybt.platform.PlatformManager
setUseSystemTheme
-
-
-
-
Field Detail
-
LOGID
private static final LogIDs LOGID
-
singleton
protected static PlatformManagerImpl singleton
-
class_mon
protected static AEMonitor class_mon
-
capabilitySet
private final java.util.HashSet capabilitySet
-
migrate_lock
private static final java.lang.Object migrate_lock
-
-
Method Detail
-
getSingleton
public static PlatformManagerImpl getSingleton()
Gets the platform manager singleton, which was already initialized
-
initializeSingleton
private static void initializeSingleton()
Instantiates the singleton
-
hasVMOptions
private boolean hasVMOptions()
-
copyFilePermissions
public void copyFilePermissions(java.lang.String from_file_name, java.lang.String to_file_name) throws PlatformManagerException
- Specified by:
copyFilePermissions
in interfacePlatformManager
- Throws:
PlatformManagerException
-
createProcess
public void createProcess(java.lang.String command_line, boolean inherit_handles) throws PlatformManagerException
- Specified by:
createProcess
in interfacePlatformManager
- Throws:
PlatformManagerException
-
dispose
public void dispose()
Description copied from interface:PlatformManager
Disposes system resources. This method is optional.- Specified by:
dispose
in interfacePlatformManager
-
getApplicationCommandLine
public java.lang.String getApplicationCommandLine() throws PlatformManagerException
- Specified by:
getApplicationCommandLine
in interfacePlatformManager
- Throws:
PlatformManagerException
-
getPlatformType
public int getPlatformType()
- Specified by:
getPlatformType
in interfacePlatformManager
-
getUserDataDirectory
public java.lang.String getUserDataDirectory() throws PlatformManagerException
- Specified by:
getUserDataDirectory
in interfacePlatformManager
- Throws:
PlatformManagerException
-
getComputerName
public java.lang.String getComputerName()
- Specified by:
getComputerName
in interfacePlatformManager
- Returns:
- null if can't be found
-
getVersion
public java.lang.String getVersion() throws PlatformManagerException
- Specified by:
getVersion
in interfacePlatformManager
- Throws:
PlatformManagerException
-
hasCapability
public boolean hasCapability(PlatformManagerCapabilities capability)
Description copied from interface:PlatformManager
Gets whether the platform manager supports a capability
Users of PlatformManager should check for supported capabilities before calling the corresponding methods
Note that support for a particular capability may change arbitrarily in the duration of the application session, but the manager will cache where necessary.
- Specified by:
hasCapability
in interfacePlatformManager
- Parameters:
capability
- A platform manager capability- Returns:
- True if the manager supports the capability
-
isApplicationRegistered
public boolean isApplicationRegistered() throws PlatformManagerException
- Specified by:
isApplicationRegistered
in interfacePlatformManager
- Throws:
PlatformManagerException
-
performRecoverableFileDelete
public void performRecoverableFileDelete(java.lang.String file_name) throws PlatformManagerException
- Specified by:
performRecoverableFileDelete
in interfacePlatformManager
- Throws:
PlatformManagerException
-
ping
public void ping(java.net.InetAddress interface_address, java.net.InetAddress target, PlatformManagerPingCallback callback) throws PlatformManagerException
- Specified by:
ping
in interfacePlatformManager
- Throws:
PlatformManagerException
-
getMaxOpenFiles
public int getMaxOpenFiles() throws PlatformManagerException
Description copied from interface:PlatformManager
This max-open-files concept here is from linux/osx where network connections are treated as 'files'- Specified by:
getMaxOpenFiles
in interfacePlatformManager
- Returns:
- Throws:
PlatformManagerException
-
registerApplication
public void registerApplication() throws PlatformManagerException
- Specified by:
registerApplication
in interfacePlatformManager
- Throws:
PlatformManagerException
-
addListener
public void addListener(PlatformManagerListener listener)
- Specified by:
addListener
in interfacePlatformManager
-
removeListener
public void removeListener(PlatformManagerListener listener)
- Specified by:
removeListener
in interfacePlatformManager
-
getVMOptionFile
public java.io.File getVMOptionFile() throws PlatformManagerException
- Specified by:
getVMOptionFile
in interfacePlatformManager
- Throws:
PlatformManagerException
-
checkCapability
private void checkCapability(PlatformManagerCapabilities capability) throws PlatformManagerException
- Throws:
PlatformManagerException
-
getExplicitVMOptions
public java.lang.String[] getExplicitVMOptions() throws PlatformManagerException
- Specified by:
getExplicitVMOptions
in interfacePlatformManager
- Throws:
PlatformManagerException
-
setExplicitVMOptions
public void setExplicitVMOptions(java.lang.String[] options) throws PlatformManagerException
- Specified by:
setExplicitVMOptions
in interfacePlatformManager
- Throws:
PlatformManagerException
-
getRunAtLogin
public boolean getRunAtLogin() throws PlatformManagerException
- Specified by:
getRunAtLogin
in interfacePlatformManager
- Throws:
PlatformManagerException
-
setRunAtLogin
public void setRunAtLogin(boolean run) throws PlatformManagerException
- Specified by:
setRunAtLogin
in interfacePlatformManager
- Throws:
PlatformManagerException
-
startup
public void startup(Core core) throws PlatformManagerException
- Specified by:
startup
in interfacePlatformManager
- Throws:
PlatformManagerException
-
getShutdownTypes
public int getShutdownTypes()
- Specified by:
getShutdownTypes
in interfacePlatformManager
-
shutdown
public void shutdown(int type) throws PlatformManagerException
- Specified by:
shutdown
in interfacePlatformManager
- Throws:
PlatformManagerException
-
setPreventComputerSleep
public void setPreventComputerSleep(boolean b) throws PlatformManagerException
- Specified by:
setPreventComputerSleep
in interfacePlatformManager
- Throws:
PlatformManagerException
-
getPreventComputerSleep
public boolean getPreventComputerSleep()
- Specified by:
getPreventComputerSleep
in interfacePlatformManager
-
setTCPTOSEnabled
public void setTCPTOSEnabled(boolean enabled) throws PlatformManagerException
Description copied from interface:PlatformManager
enable or disable the platforms support for TCP TOS- Specified by:
setTCPTOSEnabled
in interfacePlatformManager
- Throws:
PlatformManagerException
-
testNativeAvailability
public boolean testNativeAvailability(java.lang.String name) throws PlatformManagerException
- Specified by:
testNativeAvailability
in interfacePlatformManager
- Throws:
PlatformManagerException
-
traceRoute
public void traceRoute(java.net.InetAddress interface_address, java.net.InetAddress target, PlatformManagerPingCallback callback) throws PlatformManagerException
- Specified by:
traceRoute
in interfacePlatformManager
- Throws:
PlatformManagerException
-
getLocation
public java.io.File getLocation(long location_id) throws PlatformManagerException
Description copied from interface:PlatformManager
Get a well-known location, if defined for the platform- Specified by:
getLocation
in interfacePlatformManager
- Parameters:
location_id
- from above LOC_constants- Returns:
- Throws:
PlatformManagerException
-
isAdditionalFileTypeRegistered
public boolean isAdditionalFileTypeRegistered(java.lang.String name, java.lang.String type) throws PlatformManagerException
Description copied from interface:PlatformManager
Checks to see if the supplied file type is registered with this application- Specified by:
isAdditionalFileTypeRegistered
in interfacePlatformManager
- Returns:
- Throws:
PlatformManagerException
-
registerAdditionalFileType
public void registerAdditionalFileType(java.lang.String name, java.lang.String description, java.lang.String type, java.lang.String content_type) throws PlatformManagerException
Description copied from interface:PlatformManager
Registers a file type with this application- Specified by:
registerAdditionalFileType
in interfacePlatformManager
- Throws:
PlatformManagerException
-
showFile
public void showFile(java.lang.String file_name) throws PlatformManagerException
Description copied from interface:PlatformManager
Reveals the file or directory with the platform's default browser- Specified by:
showFile
in interfacePlatformManager
- Parameters:
file_name
- The full path to a file or directory- Throws:
PlatformManagerException
- If this operation fails
-
unregisterAdditionalFileType
public void unregisterAdditionalFileType(java.lang.String name, java.lang.String type) throws PlatformManagerException
Description copied from interface:PlatformManager
Removes a file-type registration- Specified by:
unregisterAdditionalFileType
in interfacePlatformManager
- Throws:
PlatformManagerException
-
getAzComputerID
public java.lang.String getAzComputerID() throws PlatformManagerException
- Throws:
PlatformManagerException
-
requestUserAttention
public void requestUserAttention(int type, java.lang.Object data) throws PlatformManagerException
Description copied from interface:PlatformManager
Requests the user's attention such as bouncing the application icon on OSX- Specified by:
requestUserAttention
in interfacePlatformManager
- Throws:
PlatformManagerException
-
loadClass
public java.lang.Class<?> loadClass(java.lang.ClassLoader loader, java.lang.String class_name) throws PlatformManagerException
Description copied from interface:PlatformManager
Gives a particular platform the ability to alter the class-loading method- Specified by:
loadClass
in interfacePlatformManager
- Returns:
- Throws:
PlatformManagerException
-
-