Overview
--------
The wrapper implements OS dependent services for libweave

Building
--------
  - prepare environment
        examples/ubuntu/prerequisites.sh
  - build daemon
        examples/ubuntu/build.sh
  - binaries for daemon is at
        out/Debug/weave

Prepare Host OS
---------------
enable user-service-publishing in avahi daemon
    file:    /etc/avahi/avahi-daemon.conf
    check:   disable-user-service-publishing=no
    restart: sudo service avahi-daemon restart

Acquire Registration Ticket
---------------------------
Goto https://developers.google.com/oauthplayground/
  - "Step 1", paste to "Authorize APIs" with
          https://www.googleapis.com/auth/clouddevices
        click "Authorize APIs", then "Allow" to get an
        "authorization code"
  - "Step 2", "Exchange authorization code for tokens"
  - "Step 3", obtain a registration ticket for your new weave device
         HTTP Method:  POST
         Request URI:  https://www.googleapis.com/clouddevices/v1/registrationTickets
         Enter request body:
            {
              "userEmail": "me"
            }
         then "Send the request", a ticket id will be returned in
            {
              "userEmail": "user@google.com",
              "kind": "clouddevices#registrationTicket",
              "expirationTimeMs": "1443204934855",
              "deviceId": "0f8a5ff5-1ef0-ec39-f9d8-66d1caeb9e3d",
              "creationTimeMs": "1443204694855",
              "id": "93019287-6b26-04a0-22ee-d55ad23a4226"
            }
    Note: the ticket "id" is not used within 240 sec, it will be expired.

Register device to cloud
------------------------
  - copy the ticket "id" generated above 
        93019287-6b26-04a0-22ee-d55ad23a4226
  - go to ubuntu terminal, register ubuntu and start daemon with

        sudo out/Debug/weave --registration_ticket=93019287-6b26-04a0-22ee-d55ad23a4226

        you should see something like:
          Publishing service
          Saving settings to /var/lib/weave/weave_settings.json

       note: in second and future runs, --registration_ticket
             options is not necessary anymore

  - get your device id with
          sudo cat /var/lib/weave/weave_settings.json
       you should see
            ...
            "device_id": 0f8a5ff5-1ef0-ec39-f9d8-66d1caeb9e3d
            ...

       this device_id shall be used for future communication
       with your device. it does not expire and no need to
       register.

  - verify device is up at
        https://gcd.sandbox.google.com/clouddevices#

Send Command to Ubuntu Device
-----------------------------
  - go to the oauthplayground used for registration ticket command
     in "Step 3", send base.identify with
        HTTP Method: POST
        Request URI: https://www.googleapis.com/clouddevices/v1/commands
        Enter request body:
        {
          "deviceId": "0f8a5ff5-1ef0-ec39-f9d8-66d1caeb9e3d",
          "name": "base.identify"
        }
   "Send the request", you command will be "queued" as its "state"

  - verify command received in cloud with
       https://gcd.sandbox.google.com/clouddevices#

       click on "events" next to your device, command history should show
           queued --> inProgress --> done
  - verify the command execution with weave daemon
       in terminal running the daemon, observe something similar to
         New command 'base.identify' arrived, ...
         received command: base.identify
         base.identify command: completed
