Sha256: 8440ed181615a08f7d81e47d67ab255bb72a43e22c4c4b05440df52fb8033b22

Contents?: true

Size: 1.11 KB

Versions: 115

Compression:

Stored size: 1.11 KB

Contents

require 'active_support/concern'
module Origen
  module Callbacks
    extend ActiveSupport::Concern

    included do
      include Origen::ModelInitializer
    end

    def register_callback_listener # :nodoc:
      Origen.app.add_callback_listener(self)
    end
  end

  # The regular callbacks module will register listeners that expire upon the next target
  # load, normally this is what is wanted at app level since things should start afresh
  # every time the target is loaded.
  #
  # However within Origen core (and possibly some plugins) it is often the case that registered
  # listeners will be objects that are not re-instantiated upon target load and persist for
  # the entire Origen thread. In this case use the PersistentCallbacks module instead of the regular
  # Callbacks module to make these objects register as permanent listeners.
  module PersistentCallbacks
    extend ActiveSupport::Concern

    included do
      include Origen::ModelInitializer
    end

    def register_callback_listener # :nodoc:
      Origen.app.add_persistant_callback_listener(self)
    end
  end
  CoreCallbacks = PersistentCallbacks
end

Version data entries

115 entries across 115 versions & 1 rubygems

Version Path
origen-0.28.1 lib/origen/callbacks.rb
origen-0.28.0 lib/origen/callbacks.rb
origen-0.27.0 lib/origen/callbacks.rb
origen-0.26.0 lib/origen/callbacks.rb
origen-0.25.1 lib/origen/callbacks.rb
origen-0.25.0 lib/origen/callbacks.rb
origen-0.24.0 lib/origen/callbacks.rb
origen-0.23.0 lib/origen/callbacks.rb
origen-0.22.0 lib/origen/callbacks.rb
origen-0.21.0 lib/origen/callbacks.rb
origen-0.20.3 lib/origen/callbacks.rb
origen-0.20.2 lib/origen/callbacks.rb
origen-0.20.1 lib/origen/callbacks.rb
origen-0.20.0 lib/origen/callbacks.rb
origen-0.13.0 lib/origen/callbacks.rb
origen-0.12.1 lib/origen/callbacks.rb
origen-0.12.0 lib/origen/callbacks.rb
origen-0.11.0 lib/origen/callbacks.rb
origen-0.10.1 lib/origen/callbacks.rb
origen-0.9.1 lib/origen/callbacks.rb