OSID Logo
OSID Specifications
resource package
Version 3.0.0
Release Candidate Preview
Interfaceosid.resource.ResourceRelationshipNotificationSession
Implementsosid.OsidSession
Description

This session defines methods to receive asynchronous notifications on adds/changes to resource relationships. 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 views defined in this session correspond to the views in the ResourceRelationshipLookupSession.

MethodgetBinId
Description

Gets the Bin Id associated with this session.

Returnosid.id.Idthe Bin Id associated with this session
CompliancemandatoryThis method must be implemented.
MethodgetBin
Description

Gets the Bin associated with this session.

Returnosid.resource.Binthe bin
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanRegisterForResourceRelationshipNotifications
Description

Tests if this user can register for ResourceRelationship 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.
MethoduseFederatedBinView
Description

Federates the view for methods in this session. A federated view will include notifications for relationships in bins which are children of this bin in the bin hierarchy.

CompliancemandatoryThis method is must be implemented.
MethoduseIsolatedBinView
Description

Isolates the view for methods in this session. An isolated view restricts notifications for relationships in this bin only.

CompliancemandatoryThis method is must be implemented.
MethodregisterForNewResourceRelationships
Description

Register for notifications of new relationship. ResourceRelationshipReceiver.newResourceRelationships() is invoked when a new relationship is created.

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

Register for notifications of new relationships of the given genus type. ResourceRelationshipReceiver.newResourceRelationships() is invoked when a new relationship is created.

Parametersosid.type.TyperesourceRelationshipGenusTypethe rsource relationship genus type
ErrorsNULL_ARGUMENT resourceRelationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForNewResourceRelationshipsForSourceResource
Description

Register for notifications of new relationships from the given resource. ResourceRelationshipReceiver.newResourceRelationships() is invoked when a new relationship is created.

Parametersosid.id.IdresourceIdthe Id of the Resource to monitor
ErrorsNULL_ARGUMENT resourceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForNewResourceRelationshipsForDestinationResource
Description

Register for notifications of new relationships to the given resource. ResourceRelationshipReceiver.newResourceRelationships() is invoked when a new relationship is created.

Parametersosid.id.IdresourceIdthe Id of the Resource to monitor
ErrorsNULL_ARGUMENT resourceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForChangedResourceRelationships
Description

Registers for notification of updated relationships. ResourceRelationshipReceiver.changedResourceRelationships() is invoked when a relationship is changed.

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

Register for notifications of changed relationshipsof the given genus type. ResourceRelationshipReceiver.changedResourceRelationships() is invoked when a relationship is changed.

Parametersosid.type.TyperesourceRelationshipGenusTypethe rsource relationship genus type
ErrorsNULL_ARGUMENT resourceRelationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForChangedResourceRelationshipsForSourceResource
Description

Register for notifications of changed relationships from the given resource. ResourceRelationshipReceiver.changedResourceRelationships() is invoked when a relationship is changed.

Parametersosid.id.IdresourceIdthe Id of the Resource to monitor
ErrorsNULL_ARGUMENT resourceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForChangedResourceRelationshipsForDestinationResource
Description

Register for notifications of changed relationships to the given resource. ResourceRelationshipReceiver.changedResourceRelationships() is invoked when a relationship is changed.

Parametersosid.id.IdresourceIdthe Id of the Resource to monitor
ErrorsNULL_ARGUMENT resourceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForChangedResourceRelationship
Description

Registers for notification of an updated relationship. ResourceRelationshipReceiver.changedResourceRelationships() is invoked when the specified relationship is changed.

Parametersosid.id.IdresourceRelationshipIdthe Id of the ResourceRelationship to monitor
ErrorsNULL_ARGUMENT resourceRelationshipId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForDeletedResourceRelationships
Description

Registers for notification of deleted relationships. ResourceRelationshipReceiver.deletedResourceRelationships() is invoked when a relationship is deleted.

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

Register for notifications of deleted relationships of the given genus type. ResourceRelationshipReceiver.deletedResourceRelationships() is invoked when a relationship is deleted.

Parametersosid.type.TyperesourceRelationshipGenusTypethe rsource relationship genus type
ErrorsNULL_ARGUMENT resourceRelationshipGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForDeletedResourceRelationshipsForSourceResource
Description

Register for notifications of deleted relationships from the given resource. ResourceRelationshipReceiver.deletedResourceRelationships() is invoked when a relationship is deleted.

Parametersosid.id.IdresourceIdthe Id of the Resource to monitor
ErrorsNULL_ARGUMENT resourceRelationshipId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForDeletedResourceRelationshipsForDestinationResource
Description

Register for notifications of deleted relationships to the given resource. ResourceRelationshipReceiver.deletedResourceRelationships() is invoked when a relationship is deleted.

Parametersosid.id.IdresourceIdthe Id of the Resource to monitor
ErrorsNULL_ARGUMENT resourceRelationshipId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodregisterForDeletedResourceRelationship
Description

Registers for notification of a deleted relationship. ResourceRelationshipReceiver.changedResourceRelationships() is invoked when the specified relationship is deleted.

Parametersosid.id.IdresourceRelationshipIdthe Id of the ResourceRelationship to monitor
ErrorsNULL_ARGUMENT resourceRelationshipId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.