libpebble2.events package

libpebble2.events.mixin module

class libpebble2.events.mixin.EventSourceMixin

Bases: object

A convenient mixin to save on repeatedly exposing generic event handler functionality.

register_handler(event, handler)

Registers a handler to be triggered by an event

Parameters:
  • event – The event to handle
  • handler – The handler callable.
Returns:

A handle that can be used to unregister the handler.

unregister_handler(handle)

Unregisters an event handler.

Parameters:handle – The handle returned from register_handler()
wait_for_event(event, timeout=10)

Block waiting for the given event. Returns the event params.

Parameters:
  • event – The event to handle.
  • timeout – The maximum time to wait before raising TimeoutError.
Returns:

The event params.

libpebble2.events.threaded module

class libpebble2.events.threaded.ThreadedEventHandler

Bases: libpebble2.events.BaseEventHandler

A threaded implementation of BaseEventHandler.

broadcast_event(event, *args)
queue_events(event)
register_handler(event, handler)
unregister_handler(handle)
wait_for_event(event, timeout=10)

Module contents

class libpebble2.events.BaseEventHandler

Bases: object

An event handler, used throughout libpebble2 to indicate that something happened. These should ordinarily not need to be directly invoked by a client of libpebble2.

broadcast_event(event, *args)

Broadcasts an event to all subscribers for that event, as added by register_handler() wait_for_event() and queue_events(). All arguments after event are passed on to the listeners.

Parameters:
  • event – The event to broadcast.
  • args – Any arguments to pass on.
queue_events(event)

Returns a BaseEventQueue from which events can be read as they arrive, even if the arrive faster than they are removed.

Parameters:event – The events to add to the queue.
Returns:An event queue.
Return type:BaseEventQueue
register_handler(event, handler)

Register a handler for an event.

Parameters:
  • event – The event to be handled. This can be any object, as long as it’s hashable.
  • handler – A callback function to be called when the event is triggered. The arguments are dependent on the event.
Returns:

A handle that can be passed to unregister_handler() to remove the registration.

unregister_handler(handle)

Remove a handler for an event using a handle returned by register_handler().

Parameters:handle – The handle for the registration to remove.
wait_for_event(event, timeout=10)

A blocking wait for an event to be fired.

Parameters:
  • event – The event to wait on.
  • timeout – How long to wait before raising TimeoutError
Returns:

The arguments that were passed to broadcast_event().

class libpebble2.events.BaseEventQueue

Bases: object

close()

Stop adding events to this queue. It is illegal to call get() or iterate over this queue after calling close().

get(timeout=10)

Get the next event in the queue. Blocks until an item is available.