ubuntu-push

module
v0.0.0-...-b2761b6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 6, 2014 License: GPL-3.0, GPL-3.0

README

Ubuntu Push Notifications
--------------------------

Protocol, client, and development code for Ubuntu Push Notifications.

The code expects to be checked out as launchpad.net/ubuntu-push in a Go
workspace, see go help gopath.

To setup go dependencies one can use:

   make bootstrap

To run tests:

   make check

To produce coverage reports go 1.2 (default on trusty) is needed and
the cover tool (the latter can be obtained atm with something like:
sudo GOPATH=<go-workspace> go get code.google.com/p/go.tools/cmd/cover
)

then run:

   make coverage-summary

for a summary report, or:

for per package html with annotated code in coverhtml/<package-name>.html

  make coverage-html

(it makes also textual coverhtml/<package-name>.txt reports).

To run the acceptance tests, go into the acceptance subdir and run:

   ./acceptance.sh

Directories

Path Synopsis
bus
Package bus provides a simplified (and more testable?) interface to DBus.
Package bus provides a simplified (and more testable?) interface to DBus.
connectivity
Package connectivity a single, simple stream of booleans to answer the quesiton “are we connected?”.
Package connectivity a single, simple stream of booleans to answer the quesiton “are we connected?”.
networkmanager
Package networkmanager wraps a couple of NetworkManager's DBus API points: the org.freedesktop.NetworkManager.state call, and listening for the StateChange signal.
Package networkmanager wraps a couple of NetworkManager's DBus API points: the org.freedesktop.NetworkManager.state call, and listening for the StateChange signal.
notifications
Package notifications wraps a couple of Notifications's DBus API points: the org.freedesktop.Notifications.Notify call, and listening for the ActionInvoked signal.
Package notifications wraps a couple of Notifications's DBus API points: the org.freedesktop.Notifications.Notify call, and listening for the ActionInvoked signal.
testing
Package bus/testing provides an implementation of bus.Bus and bus.Endpoint suitable for testing.
Package bus/testing provides an implementation of bus.Bus and bus.Endpoint suitable for testing.
urldispatcher
Package urldispatcher wraps the url dispatcher's dbus api point
Package urldispatcher wraps the url dispatcher's dbus api point
The client package implements the Ubuntu Push Notifications client-side daemon.
The client package implements the Ubuntu Push Notifications client-side daemon.
session
The client/session package handles the minutiae of interacting with the Ubuntu Push Notifications server.
The client/session package handles the minutiae of interacting with the Ubuntu Push Notifications server.
session/levelmap
levelmap holds an implementation of the LevelMap that the client session uses to keep track of what messages it has seen.
levelmap holds an implementation of the LevelMap that the client session uses to keep track of what messages it has seen.
Package config has helpers to parse and use JSON based configuration.
Package config has helpers to parse and use JSON based configuration.
Package logger defines a simple logger API with level of logging control.
Package logger defines a simple logger API with level of logging control.
Package protocol has code to talk the client-daemon<->push-server protocol.
Package protocol has code to talk the client-daemon<->push-server protocol.
Package server contains code to start server components hosted by the subpackages.
Package server contains code to start server components hosted by the subpackages.
acceptance/cmd
acceptanceclient for playing
acceptanceclient for playing
api
Package api has code that offers a REST API for the applications that want to push messages.
Package api has code that offers a REST API for the applications that want to push messages.
broker
Package broker handles session registrations and delivery of messages through sessions.
Package broker handles session registrations and delivery of messages through sessions.
broker/simple
Package simple implements a simple broker for just one process.
Package simple implements a simple broker for just one process.
broker/testing
Package testing contains simple test implementations of some broker interfaces.
Package testing contains simple test implementations of some broker interfaces.
broker/testsuite
Package testsuite contains a common test suite for brokers.
Package testsuite contains a common test suite for brokers.
dev
simple development server.
simple development server.
listener
Package listener has code to listen for device connections and setup sessions for them.
Package listener has code to listen for device connections and setup sessions for them.
session
Package session has code handling long-lived connections from devices.
Package session has code handling long-lived connections from devices.
store
Package store takes care of storing pending notifications.
Package store takes care of storing pending notifications.
Package testing contains helpers for testing.
Package testing contains helpers for testing.
condition
Package testing/condition implements a strategy family for use in testing.
Package testing/condition implements a strategy family for use in testing.
whoopsie
identifier
Package whoopsie/identifier wraps libwhoopsie, and is thus the source of an anonymous and stable system id used by the Ubuntu error tracker and the Ubuntu push notifications service.
Package whoopsie/identifier wraps libwhoopsie, and is thus the source of an anonymous and stable system id used by the Ubuntu error tracker and the Ubuntu push notifications service.
identifier/testing
Package whoopsie/identifier/testing implements a couple of Ids that are useful for testing things that use whoopsie/identifier.
Package whoopsie/identifier/testing implements a couple of Ids that are useful for testing things that use whoopsie/identifier.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL