public interface ProtocolProviderService
An instance of a ProtocolProviderService corresponds to a particular user account and all operations performed through a provider (sending messages, modifying contact lists, receiving calls)would pertain to this particular user account.
ProtocolProviderService instances are created through the provider factory. Each protocol provider is assigned a unique AccountID instance that uniquely identifies it. Account id's for different accounts are guaranteed to be different and in the same time the ID of a particular account against a given service over any protocol will always be the same (so that we detect attempts for creating the same account twice.)
AccountID
Modifier and Type | Field and Description |
---|---|
static int |
BIND_RETRIES_DEFAULT_VALUE
The default number of binds that a Protocol Provider Service
Implementation should execute in case a port is already bound to
(each retry would be on a new random port).
|
static java.lang.String |
BIND_RETRIES_PROPERTY_NAME
The name of the property containing the number of binds that a Protocol
Provider Service Implementation should execute in case a port is already
bound to (each retry would be on a new random port).
|
Modifier and Type | Method and Description |
---|---|
void |
addRegistrationStateChangeListener(RegistrationStateChangeListener listener)
Registers the specified listener with this provider so that it would
receive notifications on changes of its state or other properties such
as its local address and display name.
|
AccountID |
getAccountID()
Returns the AccountID that uniquely identifies the account represented by
this instance of the ProtocolProviderService.
|
<T extends OperationSet> |
getOperationSet(java.lang.Class<T> opsetClass)
Returns the operation set corresponding to the specified class or
null if this operation set is not supported by the provider
implementation.
|
java.lang.String |
getProtocolDisplayName()
Returns the protocol display name.
|
ProtocolIcon |
getProtocolIcon()
Returns the protocol logo icon.
|
java.lang.String |
getProtocolName()
Returns the short name of the protocol that the implementation of this
provider is based upon (like SIP, Jabber, ICQ/AIM, or others for
example).
|
RegistrationState |
getRegistrationState()
Returns the state of the registration of this protocol provider with the
corresponding registration service.
|
java.util.Collection<java.lang.Class<? extends OperationSet>> |
getSupportedOperationSetClasses()
Returns a collection containing all operation sets classes supported by
the current implementation.
|
java.util.Map<java.lang.String,OperationSet> |
getSupportedOperationSets()
Returns an array containing all operation sets supported by the current
implementation.
|
TransportProtocol |
getTransportProtocol()
Returns the "transport" protocol of this instance used to carry the
control channel for the current protocol service.
|
boolean |
isRegistered()
Indicates whether or not this provider is registered
|
boolean |
isRegistrationRequiredForCalling()
Indicates whether or not this provider must registered
when placing outgoing calls.
|
boolean |
isSignalingTransportSecure()
Indicate if the signaling transport of this protocol instance uses a
secure (e.g.
|
void |
register(SecurityAuthority authority)
Starts the registration process.
|
void |
removeRegistrationStateChangeListener(RegistrationStateChangeListener listener)
Removes the specified listener.
|
void |
shutdown()
Makes the service implementation close all open sockets and release
any resources that it might have taken and prepare for shutdown/garbage
collection.
|
void |
unregister()
Ends the registration of this protocol provider with the current
registration service.
|
void |
unregister(boolean userRequest)
Ends the registration of this protocol provider with the current
registration service.
|
boolean |
validateContactAddress(java.lang.String contactId,
java.util.List<java.lang.String> result)
Validates the given protocol specific contact identifier and returns an
error message if applicable and a suggested correction.
|
static final java.lang.String BIND_RETRIES_PROPERTY_NAME
static final int BIND_RETRIES_DEFAULT_VALUE
void register(SecurityAuthority authority) throws OperationFailedException
authority
- the security authority that will be used for resolving
any security challenges that may be returned during the
registration or at any moment while wer're registered.OperationFailedException
- with the corresponding code it the
registration fails for some reason (e.g. a networking error or an
implementation problem).void unregister() throws OperationFailedException
OperationFailedException
- with the corresponding code it the
registration fails for some reason (e.g. a networking error or an
implementation problem).void unregister(boolean userRequest) throws OperationFailedException
userRequest
- is the unregister by user request.OperationFailedException
- with the corresponding code it the
registration fails for some reason (e.g. a networking error or an
implementation problem).boolean isRegistered()
boolean isRegistrationRequiredForCalling()
RegistrationState getRegistrationState()
java.lang.String getProtocolName()
java.lang.String getProtocolDisplayName()
ProtocolIcon getProtocolIcon()
void addRegistrationStateChangeListener(RegistrationStateChangeListener listener)
listener
- the listener to register.void removeRegistrationStateChangeListener(RegistrationStateChangeListener listener)
listener
- the listener to remove.java.util.Map<java.lang.String,OperationSet> getSupportedOperationSets()
Map
containing instances of all supported operation
sets mapped against their class names (e.g.
OperationSetPresence.class.getName() associated with a
OperationSetPresence instance).java.util.Collection<java.lang.Class<? extends OperationSet>> getSupportedOperationSetClasses()
Collection
containing instances of all supported
operation set classes (e.g. OperationSetPresence.class.<T extends OperationSet> T getOperationSet(java.lang.Class<T> opsetClass)
T
- the type which extends OperationSet and which is to
be retrievedopsetClass
- the Class of the operation set that we're
looking for.void shutdown()
AccountID getAccountID()
boolean validateContactAddress(java.lang.String contactId, java.util.List<java.lang.String> result)
contactId
- the contact identifier to validateresult
- Must be supplied as an empty a list. Implementors add
items:
boolean isSignalingTransportSecure()
TransportProtocol getTransportProtocol()
Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under Apache license.