Show a cover letter.

GET /api/1.1/covers/2273/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2273,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/2273/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/2273/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api",
        "name": "libcamera",
        "link_name": "libcamera",
        "list_id": "libcamera_core",
        "list_email": "libcamera-devel@lists.libcamera.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20191028104913.14985-1-laurent.pinchart@ideasonboard.com>",
    "date": "2019-10-28T10:49:04",
    "name": "[libcamera-devel,v2,0/9] Add support for blocking method invocation",
    "submitter": {
        "id": 2,
        "url": "https://patchwork.libcamera.org/api/1.1/people/2/?format=api",
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/2273/mbox/",
    "series": [
        {
            "id": 562,
            "url": "https://patchwork.libcamera.org/api/1.1/series/562/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=562",
            "date": "2019-10-28T10:49:04",
            "name": "Add support for blocking method invocation",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/562/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/2273/comments/",
    "headers": {
        "Return-Path": "<laurent.pinchart@ideasonboard.com>",
        "Received": [
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9B0016017E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 28 Oct 2019 11:49:25 +0100 (CET)",
            "from pendragon.ideasonboard.com (unknown [91.217.168.176])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 50333325\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 28 Oct 2019 11:49:25 +0100 (CET)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1572259765;\n\tbh=Rc1nbcR8gAvgKHTF+PP+aoJfe18jOtHEZYJKJ3oLWdo=;\n\th=From:To:Subject:Date:From;\n\tb=IRKoZi2Lb1EVtHY/MZ9wwX1Rl+TObqktTZdV5k8vfasNu/TrfFP7YzA+hJVZ+Us/4\n\tIhPifEO8Iz6l7VVFJgTjslEoDJc8rhrdoxKqfp5td9kj8pIurpXAFtS4lXJmwQWchq\n\tXnhj/JkAl+vTxoNHtuSfuLlGEuPX1cUgW0uTxe4o=",
        "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Mon, 28 Oct 2019 12:49:04 +0200",
        "Message-Id": "<20191028104913.14985-1-laurent.pinchart@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.23.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v2 0/9] Add support for blocking method\n\tinvocation",
        "X-BeenThere": "libcamera-devel@lists.libcamera.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "<libcamera-devel.lists.libcamera.org>",
        "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>",
        "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>",
        "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>",
        "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>",
        "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>",
        "X-List-Received-Date": "Mon, 28 Oct 2019 10:49:25 -0000"
    },
    "content": "Hello,\n\nThis patch series is a second version of Jacopo's initial work posted\nunder the same name.\n\nThe goal is to generalize the blocking method invocation code from the\nAndroid camera HAL implementation (in the ThreadRPC class) to make it\navailable to libcamera. This will be used by the V4L2 adaptation layer,\namong other components.\n\nThe first two patches add a Semaphore class that generalizes the\nObjectConditionVariable from v1, and add a concept of ConnectionType.\nPatch 3/9 and 4/9 then adds support for the ConnectionType in the\nBoundMethod classes. Patch 5/9 and 6/9 to 7/9 extend the\nSignal::connect() and Object::invokeMethod() with connection type. Patch\n8/9 adds testing of Object::invokeMethod(), and patch 9/9 finally\nreplaces the ThreadRPC class.\n\nJacopo Mondi (4):\n  libcamera: bound_method: Define connection type for method invocation\n  libcamera: object: Add connection type parameter to invokeMethod()\n  test: object-invoke: Invoke method in blocking mode\n  android: Replace ThreadRPC with blocking method call\n\nLaurent Pinchart (5):\n  libcamera: Add Semaphore class\n  libcamera: bound_method: Store connection type in BoundMethodBase\n  libcamera: bound_method: Support connection types\n  libcamera: signal: Specify connection type for signals\n  libcamera: object: Use bound method activePack() for invokeMethod()\n\n Documentation/Doxyfile.in         |   4 +-\n include/libcamera/bound_method.h  |  35 +++++++---\n include/libcamera/object.h        |   9 ++-\n include/libcamera/signal.h        |   5 +-\n src/android/camera_device.cpp     |  34 ++--------\n src/android/camera_device.h       |   5 +-\n src/android/camera_proxy.cpp      |  20 ++----\n src/android/camera_proxy.h        |   3 -\n src/android/meson.build           |   1 -\n src/android/thread_rpc.cpp        |  26 --------\n src/android/thread_rpc.h          |  39 -----------\n src/libcamera/bound_method.cpp    |  68 ++++++++++++++++++--\n src/libcamera/event_notifier.cpp  |   3 +-\n src/libcamera/include/meson.build |   1 +\n src/libcamera/include/message.h   |   5 ++\n src/libcamera/include/semaphore.h |  34 ++++++++++\n src/libcamera/meson.build         |   1 +\n src/libcamera/message.cpp         |  11 +++-\n src/libcamera/object.cpp          |  22 +++----\n src/libcamera/semaphore.cpp       | 103 ++++++++++++++++++++++++++++++\n src/libcamera/timer.cpp           |   3 +-\n test/object-invoke.cpp            |  16 ++---\n 22 files changed, 285 insertions(+), 163 deletions(-)\n delete mode 100644 src/android/thread_rpc.cpp\n delete mode 100644 src/android/thread_rpc.h\n create mode 100644 src/libcamera/include/semaphore.h\n create mode 100644 src/libcamera/semaphore.cpp"
}