lomiri-push-service

command module
v0.0.0-...-6789dc4 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2021 License: GPL-3.0, GPL-3.0 Imports: 7 Imported by: 0

README

Lomiri Push Notifications
-------------------------

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

The code expects to be checked out as
gitlab.com/ubports/core/lomiri-push-service in a Go
workspace, see "go help gopath".

You need a somewhat long list of dependencies, as well as a working Go
development environment. The Debian/Ubuntu package names for these are listed
in the file PACKAGE_DEPS.

On Debian/Ubuntu, if you have sudo, you can have all those installed for you
by do doing

    make fetchdeps

Once you have the packaged dependencies you can get the Go
dependencies via

    make bootstrap

and then you're set. Good luck!

To run the tests:

   make check

To produce coverage reports you need Go 1.2 (default on Trusty) and
the cover tool (in the golang-go.tools package),
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, change to the acceptance subdir and run:

  make acceptance

There are build targets to build the client:

  make build-client

building lomiri-push-service, and to run the development server:

  make run-server-dev

Documentation

The Go Gopher

There is no documentation for this package.

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 implements a single, simple stream of booleans to answer the question "are we connected?".
Package connectivity implements a single, simple stream of booleans to answer the question "are we connected?".
emblemcounter
Package emblemcounter can present notifications as a counter on an emblem on an item in the launcher.
Package emblemcounter can present notifications as a counter on an emblem on an item in the launcher.
greeter
Package greeter retrieves information about the Lomiri Greeter using Lomiri's dbus interface
Package greeter retrieves information about the Lomiri Greeter using Lomiri's dbus interface
haptic
Package haptic can present notifications as a vibration pattern using the usensord/haptic interface
Package haptic can present notifications as a vibration pattern using the usensord/haptic interface
networkmanager
Package networkmanager wraps a couple of NetworkManager's DBus API points: the org.freedesktop.NetworkManager.state call, and listening for the StateChange signal, similarly for the primary connection and wireless enabled state.
Package networkmanager wraps a couple of NetworkManager's DBus API points: the org.freedesktop.NetworkManager.state call, and listening for the StateChange signal, similarly for the primary connection and wireless enabled state.
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.
polld
Package polld wraps the account-polld dbus interface
Package polld wraps the account-polld dbus interface
powerd
Package powerd is an interface to powerd via dbus.
Package powerd is an interface to powerd via dbus.
systemimage
Package systemimage is a mimimal wrapper for the system-image dbus API.
Package systemimage is a mimimal wrapper for the system-image dbus API.
testing
Package testing provides an implementation of bus.Bus and bus.Endpoint suitable for testing.
Package testing provides an implementation of bus.Bus and bus.Endpoint suitable for testing.
urfkill
Package urfkill wraps a couple of URfkill's DBus API points to watch for flight mode state changes.
Package urfkill wraps a couple of URfkill's DBus API points to watch for flight mode state changes.
windowstack
Package windowstack retrieves information about the windowstack using Lomiri's dbus interface
Package windowstack retrieves information about the windowstack using Lomiri's dbus interface
Package click exposes some utilities related to click packages and wraps libclick to check if packages are installed.
Package click exposes some utilities related to click packages and wraps libclick to check if packages are installed.
cclick
Package cclick has the internal cgo wrapping libclick for package click.
Package cclick has the internal cgo wrapping libclick for package click.
testing
Package testing contains helpers for testing related to click.
Package testing contains helpers for testing related to click.
Package client implements the Push Notifications client-side daemon.
Package client implements the Push Notifications client-side daemon.
gethosts
Package gethosts implements finding hosts to connect to for delivery of notifications.
Package gethosts implements finding hosts to connect to for delivery of notifications.
service
package service implements the dbus-level service with which client applications are expected to interact.
package service implements the dbus-level service with which client applications are expected to interact.
session
Package session handles the minutiae of interacting with the Push Notifications server.
Package session handles the minutiae of interacting with the Push Notifications server.
session/seenstate
Package seenstate holds implementations of the SeenState that the client session uses to keep track of what messages it has seen.
Package seenstate holds implementations of the SeenState 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.
external
murmur3
Native (and fast) implementation of Austin Appleby's MurmurHash3.
Native (and fast) implementation of Austin Appleby's MurmurHash3.
Package http contains the client subset of go 1.3 development net/http.
Package http contains the client subset of go 1.3 development net/http.
Package identifier is the source of an anonymous and stable system id (from /var/lib/dbus/machine-id) used by the push notifications service.
Package identifier is the source of an anonymous and stable system id (from /var/lib/dbus/machine-id) used by the push notifications service.
testing
Package testing implements a couple of Ids that are useful for testing things that use identifier.
Package testing implements a couple of Ids that are useful for testing things that use identifier.
launch_helper wraps lomiri_app_launch to enable using application helpers.
launch_helper wraps lomiri_app_launch to enable using application helpers.
legacy
package legacy implements a HelperLauncher for “legacy” applications.
package legacy implements a HelperLauncher for “legacy” applications.
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 messaging wraps the messaging menu indicator, allowing for persistent notifications to the user.
Package messaging wraps the messaging menu indicator, allowing for persistent notifications to the user.
cmessaging
package cmessaging wraps libmessaging-menu Copyright 2014 Canonical Ltd.
package cmessaging wraps libmessaging-menu Copyright 2014 Canonical Ltd.
reply
reply is where we keep MMActionReply, so we can use it from messaging and cmessaging without going circular about it
reply is where we keep MMActionReply, so we can use it from messaging and cmessaging without going circular about it
package nih reimplements libnih-dbus's nih_dbus_path's path element quoting.
package nih reimplements libnih-dbus's nih_dbus_path's path element quoting.
Package poller implements Poller, a thing that uses (hw) alarms to wake the device up from deep sleep periodically, check for notifications, and poke polld.
Package poller implements Poller, a thing that uses (hw) alarms to wake the device up from deep sleep periodically, check for notifications, and poke polld.
Package protocol implements the client-daemon <-> push-server protocol.
Package protocol implements 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
Package acceptance contains the acceptance client.
Package acceptance contains the acceptance client.
acceptance/cmd
acceptanceclient command for playing.
acceptanceclient command for playing.
acceptance/kit
Package kit contains reusable building blocks for acceptance.
Package kit contains reusable building blocks for acceptance.
acceptance/suites
Package suites contains reusable acceptance test suites.
Package suites contains reusable acceptance test suites.
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
Dev is a simple development server.
Dev is a 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 condition implements a strategy family for use in testing.
Package condition implements a strategy family for use in testing.
Package urldispatcher wraps the url dispatcher's C API
Package urldispatcher wraps the url dispatcher's C API
curldispatcher
package cmessaging wraps libmessaging-menu package curldispatcher wraps lomiri-url-dispatcher
package cmessaging wraps libmessaging-menu package curldispatcher wraps lomiri-url-dispatcher
Package util contains the redialer.
Package util contains the redialer.

Jump to

Keyboard shortcuts

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