|
| SubscriptionCallback (Service service) |
|
| SubscriptionCallback (Service service, int requestedDurationSeconds) |
|
void | failed (GENASubscription subscription, UpnpResponse responseStatus, Exception exception) |
|
abstract void | failed (GENASubscription subscription, UpnpResponse responseStatus, Exception exception, String defaultMsg) |
| Called when establishing a local or remote subscription failed.
|
|
abstract void | established (GENASubscription subscription) |
| Called when a local or remote subscription was successfully established.
|
|
abstract void | ended (GENASubscription subscription, CancelReason reason, UpnpResponse responseStatus) |
| Called when a local or remote subscription ended, either on user request or because of a failure.
|
|
abstract void | eventReceived (GENASubscription subscription) |
| Called when an event for an established subscription has been received.
|
|
abstract void | eventsMissed (GENASubscription subscription, int numberOfMissedEvents) |
| Called when a received event was out of sequence, indicating that events have been missed.
|
|
void | invalidMessage (RemoteGENASubscription remoteGENASubscription, UnsupportedDataException ex) |
| Called when a received event message could not be parsed successfully.
|
|
Subscribe and receive events from a service through GENA.
Usage example, establishing a subscription with a org.fourthline.cling.model.meta.Service
:
SubscriptionCallback callback = new SubscriptionCallback(service, 600) { // Timeout in seconds
public void established(GENASubscription sub) {
System.out.println("Established: " + sub.getSubscriptionId());
}
public void failed(GENASubscription sub, UpnpResponse response, Exception ex) {
System.err.println(
createDefaultFailureMessage(response, ex)
);
}
public void ended(GENASubscription sub, CancelReason reason, UpnpResponse response) {
// Reason should be null, or it didn't end regularly
}
public void eventReceived(GENASubscription sub) {
System.out.println("Event: " + sub.getCurrentSequence().getValue());
Map<String, StateVariableValue> values = sub.getCurrentValues();
StateVariableValue status = values.get("Status");
System.out.println("Status is: " + status.toString());
}
public void eventsMissed(GENASubscription sub, int numberOfMissedEvents) {
System.out.println("Missed events: " + numberOfMissedEvents);
}
};
upnpService.getControlPoint().execute(callback);
- Author
- Christian Bauer
void org.fourthline.cling.controlpoint.SubscriptionCallback.invalidMessage |
( |
RemoteGENASubscription |
remoteGENASubscription, |
|
|
UnsupportedDataException |
ex |
|
) |
| |
|
protected |
Called when a received event message could not be parsed successfully.
This typically indicates a broken device which is not UPnP compliant. You can react to this failure in any way you like, for example, you could terminate the subscription or simply create an error report/log.
The default implementation will log the exception at INFO
level, and the invalid XML at FINE
level.
- Parameters
-