DDS 1.0 NO IDEA Avatar
  1. OMG Issue

DDS — Several instead one listener

  • Key: DDS-163
  • Legacy Issue Number: 7060
  • Status: closed  
  • Source: THALES ( Virginie Watine)
  • Summary:

    Issue [THALES]
    Currently there is only one ObjectHome and one Cache Listeners. This has been considered by users as fairly limited and as several selections are allowed, unjustified
    Proposal [THALES]
    Allow several listeners.
    Precise the triggering order
    Concrete changes
    IDL
    local interface Selection {
    ...
    SelectionListener set_listener (
    in SelectionListener listener);
    [instead attach_listener in the commented out section]
    ...
    local interface Cache {
    ...
    readonly attribute CacheListenerSeq listeners;
    [instead readonly attribute CacheListener listener]
    ...
    void detach_listener (
    in CacheListener listener);
    [instead no parameter]
    ...
    local interface ObjectHome {
    ...
    readonly attribute ObjectListenerSeq listeners;
    [instead readonly attribute ObjectListener listener]
    ...
    void detach_listener (
    in ObjectListener listener);
    [instead no parameter]
    ...
    in section 3.1.6.3.3 Cache
    in the table
    list of attributes replace the entry for listener by the following
    listeners CacheListener []
    list of operations, replace the entry for detach_listener by the following
    detach_listener void
    listener CacheListener
    in section 3.1.6.3.5 ObjectHome
    in the table
    list of attributes replace the entry for listener by the following
    listeners ObjectListener []
    list of operations, correct the entry for attach_listener by the following (ObjectListener instead of Listener)
    attach_listener void
    listener ObjectListener
    list of operations, replace the entry for detach_listener by the following
    detach_listener void
    listener ObjectListener
    in section 3.1.6.3.7 Selection
    in the table, change the entries for attach_listener and detach_listener to only one operation set_listener, as follows:
    set_listener SelectionListener
    listener SelectionListener
    in the following text, in the list starting with "it offers the methods to:"
    change the first bullet to:
    "set the listener (set_listener) that will be triggered when the composition of the selection changes as well as if one of its members is modified; set_listener returns the previously set listener if any; set_listener, called with a NULL parameter discards the current listener."
    in section 3.1.6.4.1 General Scenario
    In the list starting with "This set of updates is managed as follows"
    change the first bullet to:
    "First, all the CacheListener::start_updates operations are triggered; the order in which these listeners are triggered is not specified"
    change the last bullet to:
    "Finally all the CacheListener::end_updates operations are triggered and the modification state of the object are cleaned; the order in which these listeners are triggered is not specified."
    in section 3.1.6.4.2 Object Creation
    In the list
    change the first bullet to:
    "First, the ObjectListener suitable to that object are searched and their on_object_created operations triggered; the search follows the inheritance structure starting from the more specific ObjectHome (e.g., FooHome, for an object typed Foo) to ObjectRoot. The search is stopped when all on_object_created operations at one level return true; inside one level the triggering order is not specified."
    in section 3.1.6.4.3 ObjectModification
    In the list
    change the last bullet to:
    "Then, the ObjectListener suitable to that object are searched and their on_object_modified operations triggered; the search follows the inheritance structure starting from the more specific ObjectHome (e.g., FooHome, for an object typed Foo) to ObjectRoot. The search is stopped when all on_object_modified operations at one level return true; inside one level the triggering order is not specified."
    in section 3.1.6.4.4 ObjectDeletion
    In the list
    change the last bullet to:
    "the ObjectListener suitable to that object are searched and their on_object_deleted operations triggered; the search follows the inheritance structure starting from the more specific ObjectHome (e.g., FooHome, for an object typed Foo) to ObjectRoot. The search is stopped when all on_object_deleted operations at one level return true; inside one level the triggering order is not specified."

  • Reported: DDS 1.0b1 — Thu, 26 Feb 2004 05:00 GMT
  • Disposition: Resolved — DDS 1.0
  • Disposition Summary:

    see below

  • Updated: Fri, 6 Mar 2015 20:58 GMT