mirror of https://github.com/sipwise/jitsi.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
4.3 KiB
125 lines
4.3 KiB
/*
|
|
* SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
|
|
*
|
|
* Distributable under LGPL license.
|
|
* See terms of license at gnu.org.
|
|
*/
|
|
package net.java.sip.communicator.service.fileaccess;
|
|
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
|
|
/**
|
|
* A service used to provide the basic functionality required to access the
|
|
* undelying file system.
|
|
*
|
|
* Note: Never store unencrypted sensitive information, such as passwords,
|
|
* personal data, credit card numbers, etc..
|
|
*
|
|
* @author Alexander Pelov
|
|
*/
|
|
public interface FileAccessService {
|
|
|
|
/**
|
|
* The key of the system property containing the user home dir
|
|
*/
|
|
public static final String SYSPROPERTYKEY_USER_HOME = "user.home";
|
|
|
|
/**
|
|
* The key of the configuration property containing the user home dir - if
|
|
* it is not defined the system property is used
|
|
*/
|
|
public static final String CONFPROPERTYKEY_USER_HOME = "net.java.sip.communicator.user.home";
|
|
|
|
/**
|
|
* The subdirectory of USER_HOME in which all user files will be stored
|
|
*/
|
|
public static final String CONFPROPERTYKEY_SIPCOMM_DIRECTORY = "net.java.sip.communicator.user.home.sip-communicator-home";
|
|
|
|
/**
|
|
* The default subdirectory
|
|
*/
|
|
public static final String DEFAULT_SIPCOMM_DIRECTORY = ".sip-communicator";
|
|
|
|
/**
|
|
* This method returns a created temporary file. After you close this file
|
|
* it is not guaranteed that you will be able to open it again nor that it
|
|
* will contain any information.
|
|
*
|
|
* Note: DO NOT store unencrypted sensitive information in this file
|
|
*
|
|
* @return The created temporary file
|
|
* @throws IOException
|
|
* If the file cannot be created
|
|
*/
|
|
File getTemporaryFile() throws IOException;
|
|
|
|
/**
|
|
* This method returns a created temporary directory. Any file you create in
|
|
* it will be a temporary file.
|
|
*
|
|
* Note: If there is no opened file in this directory it may be deleted at
|
|
* any time. Note: DO NOT store unencrypted sensitive information in this
|
|
* directory
|
|
*
|
|
* @return The created directory
|
|
* @throws IOException
|
|
* If the directory cannot be created
|
|
*/
|
|
File getTemporaryDirectory() throws IOException;
|
|
|
|
/**
|
|
* This method returns a file specific to the current user. It may not
|
|
* exist, but it is guaranteed that you will have the sufficient rights to
|
|
* create it.
|
|
*
|
|
* This file should not be considered secure because the implementor may
|
|
* return a file accesible to everyone. Generaly it will reside in current
|
|
* user's homedir, but it may as well reside in a shared directory.
|
|
*
|
|
* Note: DO NOT store unencrypted sensitive information in this file
|
|
*
|
|
* @param fileName
|
|
* The name of the private file you wish to access
|
|
* @return The file
|
|
* @throws Exception
|
|
* Thrown if there is no suitable location for the persistent
|
|
* file
|
|
*/
|
|
File getPrivatePersistentFile(String fileName) throws Exception;
|
|
|
|
/**
|
|
* This method creates a directory specific to the current user.
|
|
*
|
|
* This directory should not be considered secure because the implementor
|
|
* may return a directory accesible to everyone. Generaly it will reside in
|
|
* current user's homedir, but it may as well reside in a shared directory.
|
|
*
|
|
* It is guaranteed that you will be able to create files in it.
|
|
*
|
|
* Note: DO NOT store unencrypted sensitive information in this file
|
|
*
|
|
* @param dirName
|
|
* The name of the private directory you wish to access.
|
|
* @return The created directory.
|
|
* @throws Exception
|
|
* Thrown if there is no suitable location for the persistent
|
|
* directory.
|
|
*/
|
|
File getPrivatePersistentDirectory(String dirName) throws Exception;
|
|
|
|
/**
|
|
* This method creates a directory specific to the current user.
|
|
*
|
|
* {@link #getPrivatePersistentDirectory(String)}
|
|
*
|
|
* @param dirNames
|
|
* The name of the private directory you wish to access.
|
|
* @return The created directory.
|
|
* @throws Exception
|
|
* Thrown if there is no suitable location for the persistent
|
|
* directory.
|
|
*/
|
|
File getPrivatePersistentDirectory(String[] dirNames) throws Exception;
|
|
}
|