|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--net.rim.device.api.applicationcontrol.ApplicationPermissionsManager
Allows applications to query the application control database to get their permissions and request additional permissions.
These settings can also be set manually by the user, through the options application.
Per-Domain Permissions
Some permissions can be set on a per-domain basis as well as globally. Appropriate methods therefore
are overloaded to accept a "domain" parameter to handle these cases. If such permissions are
specified to the overloaded versions that do not have a "domain" parameter then they will relate
to the default settings for domains.
The set of permissions that can be set on a per-domain basis are:
ApplicationPermissions.PERMISSION_BROWSER_FILTERApplicationPermissions.PERMISSION_INTERNETApplicationPermissions.PERMISSION_SERVER_NETWORK
| Method Summary | ||
|
void |
addReasonProvider(ApplicationDescriptor appDesc,
ReasonProvider provider)
Adds a ReasonProvider to the currently running application which will allow descriptive Strings to be added to the application permissions dialog. |
|
ApplicationPermissions |
getApplicationPermissions()
Queries the application control database and returns the permissions of the calling application. |
|
ApplicationPermissions |
getApplicationPermissions(boolean ignoreFirewall)
Queries the application control database and returns the permissions of the calling application. |
|
static ApplicationPermissionsManager |
getInstance()
Returns the singleton instance of this class. |
|
int |
getMaxAllowable(int permission)
Returns the least restrictive value that a permission can possibly have for the calling application. |
|
int |
getMaxAllowable(int permission,
String domain)
Returns the least restrictive value that a permission can possibly have for a particular domain for the calling application. |
|
int |
getPermission(int permission)
Queries the application control database and returns the value of a permission of the calling application. |
|
int |
getPermission(int permission,
boolean ignoreFirewall)
Queries the application control database and returns the value of a permission of the calling application. |
|
int |
getPermission(int permission,
String domain)
Queries the application control database and returns the value of a permission of the calling application for a particular domain. |
|
int |
getPermission(int permission,
String domain,
boolean ignoreFirewall)
Queries the application control database and returns the value of a permission of the calling application for a particular domain. |
|
boolean |
invokePermissionsRequest(ApplicationPermissions requestedPermissions)
Request application control permissions for the calling application. |
|
void |
removeReasonProvider(ReasonProvider provider)
Removes a ReasonProvider from the currently running application. |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
public void addReasonProvider(ApplicationDescriptor appDesc, ReasonProvider provider)
Note: the ApplicationDescriptor added must belong to a module found on the triggering call stack to ensure the ReasonProvider will be queried. This check is performed at the time of callback and not the time of addition. The query will be serviced within the ApplicationDescriptor.
Note: duplicate providers are only added once.
appDesc - The ApplicationDescriptor used to service the ReasonProviderprovider - The ReasonProvider to addIllegalArgumentException - if either appDesc or provider are null, or if
appDesc is invalid.ReasonProviderpublic ApplicationPermissions getApplicationPermissions()
Note that this method returns to the caller the permissions of the calling application while taking in to account the effects the current state of the firewall may have. The following permissions are typically only checked when the firewall is enabled:
ApplicationPermissions.PERMISSION_BLUETOOTHApplicationPermissions.PERMISSION_FILE_APIApplicationPermissions.PERMISSION_INTERNETApplicationPermissions.PERMISSION_SERVER_NETWORKApplicationPermissions.PERMISSION_USBApplicationPermissions object containing the value to which each permission is set in the
application control database for the calling application accounting for the firewall state; never returns
nullgetApplicationPermissions(boolean)public ApplicationPermissions getApplicationPermissions(boolean ignoreFirewall)
Note that this method provides the caller the ability to retrieve the "raw" permissions of the calling application ignoring the effects the current state of the firewall may have. The following permissions are typically only checked when the firewall is enabled:
ApplicationPermissions.PERMISSION_BLUETOOTHApplicationPermissions.PERMISSION_FILE_APIApplicationPermissions.PERMISSION_INTERNETApplicationPermissions.PERMISSION_SERVER_NETWORKApplicationPermissions.PERMISSION_USBgetApplicationPermissions(). This method, however, will only do so if the
ignoreFirewall parameter is false.ApplicationPermissions object containing the value to which each permission is set in the
application control database for the calling application, accounting for the firewall state if desired;
never returns nullgetApplicationPermissions()public static ApplicationPermissionsManager getInstance()
null.public int getMaxAllowable(int permission)
The system administrator is able to set a "maximum" value for each permission. The user
is not able to set any permission to be less restrive than the maximum enforced by the
system administrator. This method allows applications to determine if it is even possible
to obtain desired permissions and take appropriate action. Requesting a permission via
invokePermissionsRequest(net.rim.device.api.applicationcontrol.ApplicationPermissions) that is less restrictive than that allowed by the
system administrator will always return false.
For permissions that can be set on a per-domain basis, invoking this method with such permissions
is equivalent to invoking getMaxAllowable(int, String) and specifying null
for domain.
See Per-Domain Permissions for details about domain-specific permissions.
See Permission Values for details about the relative restrictiveness of the various values.
permission - the permission whose maximum value to get; valid values are any of the
PERMISSION_ constants defined in ApplicationPermissions.VALUE_
constants defined in ApplicationPermissions.IllegalArgumentException - if permission is not a valid value.
public int getMaxAllowable(int permission,
String domain)
getMaxAllowable(int) and
getPermission(int, String) for more information.
See Permission Values for details about the relative restrictiveness of the various values.
See Per-Domain Permissions for details about domain-specific permissions.
permission - the permission whose maximum value to get; valid values are any of the
PERMISSION_ constants defined in ApplicationPermissions
that can be set on a per-domain basis.domain - the domain to query; if null get the default value for domains
that do not have permissions explicitly set for them.VALUE_ constants defined
in the ApplicationPermissions class.IllegalArgumentException - if permission is not a valid value.public int getPermission(int permission)
For permissions that can be set on a per-domain basis, invoking this method with such permissions is equivalent
to invoking getPermission(int, String) and specifying null for domain. See
Per-Domain Permissions for details about domain-specific permissions.
Note that this method returns to the caller the permission setting while taking in to account the effects the current state of the firewall may have. The following permissions are typically only checked when the firewall is enabled:
ApplicationPermissions.PERMISSION_BLUETOOTHApplicationPermissions.PERMISSION_FILE_APIApplicationPermissions.PERMISSION_INTERNETApplicationPermissions.PERMISSION_SERVER_NETWORKApplicationPermissions.PERMISSION_USBpermission - the permission whose value to get; must be equal to one of the permissions constants defined in
the ApplicationPermissions classApplicationPermissions.VALUE_ALLOW, ApplicationPermissions.VALUE_PROMPT, or
ApplicationPermissions.VALUE_DENYIllegalArgumentException - if permission is not equal to one of the
permissions constants defined in the ApplicationPermissions class.getPermission(int, boolean)
public int getPermission(int permission,
boolean ignoreFirewall)
For permissions that can be set on a per-domain basis, invoking this method with such permissions is equivalent
to invoking getPermission(int, String) and specifying null for domain. See
Per-Domain Permissions for details about domain-specific permissions.
Note that this method provides the caller the ability to retrieve the "raw" permission setting ignoring the effects the current state of the firewall may have. The following permissions are typically only checked when the firewall is enabled:
ApplicationPermissions.PERMISSION_BLUETOOTHApplicationPermissions.PERMISSION_FILE_APIApplicationPermissions.PERMISSION_INTERNETApplicationPermissions.PERMISSION_SERVER_NETWORKApplicationPermissions.PERMISSION_USBgetPermission(int). This method, however, will only do so if the ignoreFirewall
parameter is false.permission - the permission whose value to get; must be equal to one of the permissions constants defined in
the ApplicationPermissions classignoreFirewall - if true, then the state of the firewall will be ignored when determining the
current setting for the specified permission so that the "raw" setting is returnedApplicationPermissions.VALUE_ALLOW, ApplicationPermissions.VALUE_PROMPT, or
ApplicationPermissions.VALUE_DENYIllegalArgumentException - if permission is not equal to one of the permissions constants
defined in the ApplicationPermissions classgetPermission(int)
public int getPermission(int permission,
String domain)
See Per-Domain Permissions for details about domain-specific permissions.
Note that this method returns to the caller the permission setting while taking in to account the effects the current state of the firewall may have. The following permissions are typically only checked when the firewall is enabled:
ApplicationPermissions.PERMISSION_BLUETOOTHApplicationPermissions.PERMISSION_FILE_APIApplicationPermissions.PERMISSION_INTERNETApplicationPermissions.PERMISSION_SERVER_NETWORKApplicationPermissions.PERMISSION_USBpermission - the permission whose value to get; valid values are any of the PERMISSION_
constants defined in ApplicationPermissions that can be set on a per-domain basisdomain - the domain to query; if null get the default value for domains that do not have
permissions explicitly set for themVALUE_ constants defined in ApplicationPermissionsIllegalArgumentException - if permission is not a valid valuegetPermission(int, String, boolean)
public int getPermission(int permission,
String domain,
boolean ignoreFirewall)
See Per-Domain Permissions for details about domain-specific permissions.
Note that this method provides the caller the ability to retrieve the "raw" permission setting ignoring the effects the current state of the firewall may have. The following permissions are typically only checked when the firewall is enabled:
ApplicationPermissions.PERMISSION_BLUETOOTHApplicationPermissions.PERMISSION_FILE_APIApplicationPermissions.PERMISSION_INTERNETApplicationPermissions.PERMISSION_SERVER_NETWORKApplicationPermissions.PERMISSION_USBgetPermission(int, String). This method, however, will only do so if the
ignoreFirewall parameter is false.permission - the permission whose value to get; valid values are any of the PERMISSION_
constants defined in ApplicationPermissions that can be set on a per-domain basisdomain - the domain to query; if null get the default value for domains that do not have
permissions explicitly set for themignoreFirewall - if true, then the state of the firewall will be ignored when determining the
current setting for the specified permission so that the "raw" setting is returnedVALUE_ constants defined in ApplicationPermissionsIllegalArgumentException - if permission is not a valid valuegetPermission(int, String)public boolean invokePermissionsRequest(ApplicationPermissions requestedPermissions)
An application can request it be assigned certain application control privlages by filling out an
ApplicationPermissions object, then submitting it to this method. The user will be presented
the application control screen, where they can review, and if they choose, save the supplied permissions.
The screen will be placed on top of the calling app and will block the calling thread until the user finishes
processing.
Checks will be performed against IT Policy, and the user will be prompted if the requested settings will not be allowed under the existing policy. (The application control screen does not allow them to save settings that conflict with the IT policy).
Note: If the calling application module is part of an application group, the requested permissions are applied to the ENTIRE group.
requestedPermissions - the permissions to request.true if the user accepts all of the requested permissions, or
false if the user or device policies reject at least one of the requested permissions.NullPointerException - if requestedPermissions is nullpublic void removeReasonProvider(ReasonProvider provider)
provider - The ReasonProvider to removeIllegalArgumentException - if provider is nullReasonProvider
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Copyright 1999-2009 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.