OSID Logo
OSID Specifications
relationship package
Version 3.0.0
Release Candidate Preview
Interfaceosid.relationship.RelationshipNotificationSession
Implementsosid.OsidSession
Description

This session defines methods to receive notifications on adds/changes to Relationship objects in this Family. This also includes existing relationships that may appear or disappear due to changes in the Family hierarchy, This session is intended for consumers needing to synchronize their state with this service without the use of polling. Notifications are cancelled when this session is closed.

The two views defined in this session correspond to the views in the RelationshipLookupSession.

MethodgetFamilyId
Description

Gets the Family Id associated with this session.

Returnosid.id.Idthe Family Id associated with this session
CompliancemandatoryThis method must be implemented.
MethodgetFamily
Description

Gets the Family associated with this session.

Returnosid.relationship.Familythe family
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanRegisterForRelationshipNotifications
Description

Tests if this user can register for Relationship notifications. A return of true does not guarantee successful authorization. A return of false indicates that it is known all methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer notification operations.

Returnboolean false if notification methods are not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethoduseFederatedFamilyView
Description

Federates the view for methods in this session. A federated view will include relationships in families which are children of this family in the family hierarchy.

CompliancemandatoryThis method is must be implemented.
MethoduseIsolatedFamilyView
Description

Isolates the view for methods in this session. An isolated view restricts notifications to this family only.

CompliancemandatoryThis method is must be implemented.
MethodreliableRelationshipNotifications
Description

Reliable notifications are desired. In reliable mode, notifications are to be acknowledged using acknowledgeRelationshipNotification() .

CompliancemandatoryThis method is must be implemented.
MethodunreliableRelationshipNotifications
Description

Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.

CompliancemandatoryThis method is must be implemented.
MethodacknowledgeRelationshipNotification
Description

Acknowledge a relationship notification.

Parametersosid.id.IdnotificationIdthe Id of the notification
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForNewRelationships
Description

Register for notifications of new relationships. RelationshipReceiver.newRelationships() is invoked when a new Relationship appears in this family.

ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForNewRelationshipsForSource
Description

Register for notifications of new relationships from the given source. RelationshipReceiver.newRelationships() is invoked when a new Relationship appears for the given peer.

Parametersosid.id.IdsourceIdthe Id of the source to monitor
ErrorsNULL_ARGUMENT sourceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForNewRelationshipsForDestination
Description

Register for notifications of new relationships to the given destination. RelationshipReceiver.newRelationships() is invoked when a new Relationship appears for the given peer.

Parametersosid.id.IddestinationIdthe Id of the destination node to monitor
ErrorsNULL_ARGUMENT destinationId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForNewRelationshipsByGenusType
Description

Register for notifications of new relationships. RelationshipReceiver.newRelationships() is invoked when a new Relationship appears for the given peer.

Parametersosid.type.TyperelationshipGenusTypethe genus type of the Relationship to monitor
ErrorsNULL_ARGUMENT relationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForChangedRelationships
Description

Registers for notification of updated relationships. RelationshipReceiver.changedRelationships() is invoked when a relationship in this family is changed.

ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForChangedRelationshipsForSource
Description

Register for notifications of updated relationships from the given source node. RelationshipReceiver.changedRelationships() is invoked when a Relationship if changed for the given peer.

Parametersosid.id.IdsourceIdthe Id of the source node to monitor
ErrorsNULL_ARGUMENT sourceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForChangedRelationshipsForDestination
Description

Register for notifications of updated relationships to the given destination node. RelationshipReceiver.changedRelationships() is invoked when a Relationship if changed for the given peer.

Parametersosid.id.IddestinationIdthe Id of the destination node to monitor
ErrorsNULL_ARGUMENT destinationId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForChangedRelationshipsByGenusType
Description

Register for notifications of updated relationships. RelationshipReceiver.changedRelationships() is invoked when a Relationship if changed for the given peer.

Parametersosid.type.TyperelationshipGenusTypethe genus type of the Relationship to monitor
ErrorsNULL_ARGUMENT relationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForChangedRelationship
Description

Registers for notification of an updated relationship. RelationshipReceiver.changedRelationships() is invoked when the specified relationship in this family is changed.

Parametersosid.id.IdrelationshipIdthe Id of the Relationship to monitor
ErrorsNULL_ARGUMENT relationshipId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForDeletedRelationships
Description

Registers for notification of deleted relationships. RelationshipReceiver.deletedRelationships() is invoked when a relationship is deleted or removed from this family.

ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForDeletedRelationshipsForSource
Description

Register for notifications of deleted relationships from the given source node. RelationshipReceiver.deletedRelationships() is invoked when a Relationship if removed for the given peer.

Parametersosid.id.IdsourceIdthe Id of the source node to monitor
ErrorsNULL_ARGUMENT sourceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForDeletedRelationshipsForDestination
Description

Register for notifications of deleted relationships to the given destination node. RelationshipReceiver.deletedRelationships() is invoked when a Relationship if removed for the given peer.

Parametersosid.id.IddestinationIdthe Id of the destination node to monitor
ErrorsNULL_ARGUMENT destinationId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForDeletedRelationshipsByGenusType
Description

Register for notifications of deleted relationships. RelationshipReceiver.deletedRelationships() is invoked when a Relationship if removed for the given peer.

Parametersosid.type.TyperelationshipGenusTypethe genus type of the Relationship to monitor
ErrorsNULL_ARGUMENT relationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForDeletedRelationship
Description

Registers for notification of a deleted relationship. RelationshipReceiver.deletedRelationships() is invoked when the specified relationship is deleted or removed from this family.

Parametersosid.id.IdrelationshipIdthe Id of the Relationship to monitor
ErrorsNULL_ARGUMENT relationshipId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.