neutron_lib.callbacks.manager module

class neutron_lib.callbacks.manager.Callback(id, method, cancellable)

Bases: tuple

cancellable

Alias for field number 2

id

Alias for field number 0

method

Alias for field number 1

class neutron_lib.callbacks.manager.CallbacksManager

Bases: object

A callback system that allows objects to cooperate in a loose manner.

clear()

Brings the manager to a clean slate.

publish(resource, event, trigger, payload=None)

Notify all subscribed callback(s) with a payload.

Dispatch the resource’s event to the subscribed callbacks.

Parameters:
  • resource – The resource for the event.

  • event – The event.

  • trigger – The trigger. A reference to the sender of the event.

  • payload – The optional event object to send to subscribers. If passed this must be an instance of BaseEvent.

Raises:
subscribe(callback, resource, event, priority=55550000, cancellable=False)

Subscribe callback for a resource event.

The same callback may register for more than one event.

Parameters:
  • callback – the callback. It must raise or return a boolean.

  • resource – the resource. It must be a valid resource.

  • event – the event. It must be a valid event.

  • priority – the priority. Callbacks are sorted by priority to be called. Smaller one is called earlier.

  • cancellable – if the callback is “cancellable”, in case of returning an exception, the callback manager will raise a CallbackFailure exception.

unsubscribe(callback, resource, event)

Unsubscribe callback from the registry.

Parameters:
  • callback – the callback.

  • resource – the resource.

  • event – the event.

unsubscribe_all(callback)

Unsubscribe callback for all events and all resources.

Parameters:

callback – the callback.

unsubscribe_by_resource(callback, resource)

Unsubscribe callback for any event associated to the resource.

Parameters:
  • callback – the callback.

  • resource – the resource.

class neutron_lib.callbacks.manager.PriorityCallbacks(priority, pri_callbacks, cancellable)

Bases: tuple

cancellable

Alias for field number 2

pri_callbacks

Alias for field number 1

priority

Alias for field number 0