mirror of https://github.com/sipwise/jitsi.git
parent
f789b9b7ef
commit
4d9c3be0be
@ -0,0 +1,46 @@
|
||||
/*
|
||||
* 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.geolocation;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import net.java.sip.communicator.service.geolocation.event.*;
|
||||
|
||||
/**
|
||||
* Instances of GeolocationService allow to retrieve the current geolocation
|
||||
* for SIP Communicator. You need to use this interface in order to
|
||||
* implements geolocation services like GPS, GeoIP, etc...
|
||||
*
|
||||
* @author Guillaume Schreiner
|
||||
*/
|
||||
public interface GeolocationService
|
||||
{
|
||||
/**
|
||||
* Returns the <tt>Geolocation</tt> currently set for the provider
|
||||
*
|
||||
* @return the last <tt>Geolocation</tt> that we have set by a geolocation
|
||||
* backend.
|
||||
*/
|
||||
public Map getCurrentGeolocation();
|
||||
|
||||
/**
|
||||
* Registers a listener that would get notifications any time the provider
|
||||
* geolocation was succesfully refreshed.
|
||||
*
|
||||
* @param listener the <tt>ProviderGeolocationPresenceListener</tt> to
|
||||
* register
|
||||
*/
|
||||
public void addGeolocationListener(GeolocationListener listener);
|
||||
|
||||
/**
|
||||
* Remove a listener that would get notifications any time the provider
|
||||
* geolocation was succesfully refreshed.
|
||||
*
|
||||
* @param listener
|
||||
*/
|
||||
public void removeGeolocationListener(GeolocationListener listener);
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* 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.geolocation.event;
|
||||
|
||||
import java.beans.*;
|
||||
|
||||
/**
|
||||
* An event listener that should be implemented by parties interested in changes
|
||||
* that occur in the state of a ProtocolProvider.
|
||||
*
|
||||
* @author Guillaume Schreiner
|
||||
*/
|
||||
public interface GeolocationListener extends java.util.EventListener
|
||||
{
|
||||
/**
|
||||
* The method is called by a ProtocolProvider implementation whenever a
|
||||
* change in the Geolocation of the corresponding provider had occurred.
|
||||
*
|
||||
* @param evt
|
||||
* ProviderGeolocationPresenceChangeEvent the event describing
|
||||
* the status change.
|
||||
*/
|
||||
public void providerStatusChanged(LocalPositionChangeEvent evt);
|
||||
|
||||
/**
|
||||
* The method is called by a ProtocolProvider implementation whenever a
|
||||
* change in the status message of the corresponding provider has occurred
|
||||
* and has been confirmed by the server.
|
||||
*
|
||||
* @param evt
|
||||
* a PropertyChangeEvent with a STATUS_MESSAGE property name,
|
||||
* containing the old and new Geolocation.
|
||||
*/
|
||||
public void providerStatusMessageChanged(PropertyChangeEvent evt);
|
||||
}
|
||||
@ -0,0 +1,86 @@
|
||||
/*
|
||||
* 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.geolocation.event;
|
||||
|
||||
import java.beans.*;
|
||||
import java.util.*;
|
||||
|
||||
import net.java.sip.communicator.service.protocol.*;
|
||||
|
||||
/**
|
||||
* Instances of this class represent a change in the Geolocation of the provider
|
||||
* that triggerred them.
|
||||
*
|
||||
* @author Guillaume Schreiner
|
||||
*/
|
||||
public class LocalPositionChangeEvent extends PropertyChangeEvent {
|
||||
|
||||
/**
|
||||
* Creates an event instance indicating a change of the property specified
|
||||
* by <tt>eventType</tt> from <tt>oldValue</tt> to <tt>newValue</tt>.
|
||||
*
|
||||
* @param source
|
||||
* the provider that generated the event
|
||||
* @param oldValue
|
||||
* the Geolocation the source provider was int before entering
|
||||
* the new state.
|
||||
* @param newValue
|
||||
* the Geolocation the source provider is currently in.
|
||||
*/
|
||||
public LocalPositionChangeEvent(ProtocolProviderService source,
|
||||
Map oldValue, Map newValue)
|
||||
{
|
||||
super(source, LocalPositionChangeEvent.class.getName(), oldValue,
|
||||
newValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the provider that has genereted this event
|
||||
*
|
||||
* @return the provider that generated the event.
|
||||
*/
|
||||
public ProtocolProviderService getProvider()
|
||||
{
|
||||
return (ProtocolProviderService) getSource();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Geolocation of the provider before this event took place.
|
||||
*
|
||||
* @return a Geolocation instance indicating the event the source provider
|
||||
* was in before it entered its new state.
|
||||
*/
|
||||
public Map getOldGeolocation()
|
||||
{
|
||||
return (Map) super.getOldValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Geolocation of the provider after this event took place.
|
||||
* (i.e. at the time the event is being dispatched).
|
||||
*
|
||||
* @return a Geolocation instance indicating the event the source provider
|
||||
* is in after the Geolocation change occurred.
|
||||
*/
|
||||
public Map getNewGeolocation()
|
||||
{
|
||||
return (Map) super.getNewValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a String representation of this LocalPositionChangeEvent
|
||||
*
|
||||
* @return A a String representation of this LocalPositionChangeEvent.
|
||||
*/
|
||||
public String toString()
|
||||
{
|
||||
StringBuffer buff = new StringBuffer("LocalPositionChangeEvent-[");
|
||||
return buff.append("OldPosition=").append(getOldGeolocation()).append(
|
||||
", NewPosition=").append(getNewGeolocation()).append("]")
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue