Show a patch.

GET /api/1.1/patches/2056/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2056,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/2056/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/2056/",
    "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": "<20190929190254.18920-2-laurent.pinchart@ideasonboard.com>",
    "date": "2019-09-29T19:02:42",
    "name": "[libcamera-devel,v2,01/13] libcamera: controls: Rename ControlValueType to ControlType",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "48b6c4996181c60e523aa7273b04b9978778b193",
    "submitter": {
        "id": 2,
        "url": "https://patchwork.libcamera.org/api/1.1/people/2/?format=api",
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/2056/mbox/",
    "series": [
        {
            "id": 512,
            "url": "https://patchwork.libcamera.org/api/1.1/series/512/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=512",
            "date": "2019-09-29T19:02:41",
            "name": "Improve the application-facing controls API",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/512/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/2056/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/2056/checks/",
    "tags": {},
    "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 ABC8461658\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 29 Sep 2019 21:03:11 +0200 (CEST)",
            "from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 3FDC9813\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 29 Sep 2019 21:03:11 +0200 (CEST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1569783791;\n\tbh=KK+0eSmP/pMHFJ6+5V3Be0Nf9i8zT7umKsLfBsu3y3s=;\n\th=From:To:Subject:Date:In-Reply-To:References:From;\n\tb=SFLp6HMHPjXtIQNVq97FdzqVUeaWcSdE+3E974HMYXudZAlD2KJM0237Hrj/wRF2j\n\tLSvBX2JZHyl/5zKEXOf2cgauiLcR3c0xjFO1mB3ry2LnNMoh6dKu6PZrcdCFWQzi93\n\tBaEBrQu2AkDg+6X203NxzY5sCEtTR231zx6C6puw=",
        "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Sun, 29 Sep 2019 22:02:42 +0300",
        "Message-Id": "<20190929190254.18920-2-laurent.pinchart@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.21.0",
        "In-Reply-To": "<20190929190254.18920-1-laurent.pinchart@ideasonboard.com>",
        "References": "<20190929190254.18920-1-laurent.pinchart@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v2 01/13] libcamera: controls: Rename\n\tControlValueType to ControlType",
        "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": "Sun, 29 Sep 2019 19:03:11 -0000"
    },
    "content": "The type of a control value is also the type of the control. Shorten the\nControlValueType enumeration to ControlType, and rename ControlValue* to\nControlType* for better clarity.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n---\n include/libcamera/controls.h   | 20 +++++++-------\n src/libcamera/controls.cpp     | 50 +++++++++++++++++-----------------\n src/libcamera/gen-controls.awk |  2 +-\n test/controls/control_info.cpp |  4 +--\n 4 files changed, 38 insertions(+), 38 deletions(-)",
    "diff": "diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h\nindex fbb3a62274c6..ffba880a66ff 100644\n--- a/include/libcamera/controls.h\n+++ b/include/libcamera/controls.h\n@@ -18,11 +18,11 @@ namespace libcamera {\n \n class Camera;\n \n-enum ControlValueType {\n-\tControlValueNone,\n-\tControlValueBool,\n-\tControlValueInteger,\n-\tControlValueInteger64,\n+enum ControlType {\n+\tControlTypeNone,\n+\tControlTypeBool,\n+\tControlTypeInteger,\n+\tControlTypeInteger64,\n };\n \n class ControlValue\n@@ -33,8 +33,8 @@ public:\n \tControlValue(int value);\n \tControlValue(int64_t value);\n \n-\tControlValueType type() const { return type_; };\n-\tbool isNone() const { return type_ == ControlValueNone; };\n+\tControlType type() const { return type_; };\n+\tbool isNone() const { return type_ == ControlTypeNone; };\n \n \tvoid set(bool value);\n \tvoid set(int value);\n@@ -47,7 +47,7 @@ public:\n \tstd::string toString() const;\n \n private:\n-\tControlValueType type_;\n+\tControlType type_;\n \n \tunion {\n \t\tbool bool_;\n@@ -59,7 +59,7 @@ private:\n struct ControlIdentifier {\n \tControlId id;\n \tconst char *name;\n-\tControlValueType type;\n+\tControlType type;\n };\n \n class ControlInfo\n@@ -70,7 +70,7 @@ public:\n \n \tControlId id() const { return ident_->id; }\n \tconst char *name() const { return ident_->name; }\n-\tControlValueType type() const { return ident_->type; }\n+\tControlType type() const { return ident_->type; }\n \n \tconst ControlValue &min() const { return min_; }\n \tconst ControlValue &max() const { return max_; }\ndiff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp\nindex 727fdbd9450d..9960a30dfa03 100644\n--- a/src/libcamera/controls.cpp\n+++ b/src/libcamera/controls.cpp\n@@ -25,16 +25,16 @@ namespace libcamera {\n LOG_DEFINE_CATEGORY(Controls)\n \n /**\n- * \\enum ControlValueType\n- * \\brief Define the data type of value represented by a ControlValue\n- * \\var ControlValueNone\n- * Identifies an unset control value\n- * \\var ControlValueBool\n- * Identifies controls storing a boolean value\n- * \\var ControlValueInteger\n- * Identifies controls storing an integer value\n- * \\var ControlValueInteger64\n- * Identifies controls storing a 64-bit integer value\n+ * \\enum ControlType\n+ * \\brief Define the data type of a Control\n+ * \\var ControlTypeNone\n+ * Invalid type, for empty values\n+ * \\var ControlTypeBool\n+ * The control stores a boolean value\n+ * \\var ControlTypeInteger\n+ * The control stores an integer value\n+ * \\var ControlTypeInteger64\n+ * The control stores a 64-bit integer value\n  */\n \n /**\n@@ -46,7 +46,7 @@ LOG_DEFINE_CATEGORY(Controls)\n  * \\brief Construct an empty ControlValue.\n  */\n ControlValue::ControlValue()\n-\t: type_(ControlValueNone)\n+\t: type_(ControlTypeNone)\n {\n }\n \n@@ -55,7 +55,7 @@ ControlValue::ControlValue()\n  * \\param[in] value Boolean value to store\n  */\n ControlValue::ControlValue(bool value)\n-\t: type_(ControlValueBool), bool_(value)\n+\t: type_(ControlTypeBool), bool_(value)\n {\n }\n \n@@ -64,7 +64,7 @@ ControlValue::ControlValue(bool value)\n  * \\param[in] value Integer value to store\n  */\n ControlValue::ControlValue(int value)\n-\t: type_(ControlValueInteger), integer_(value)\n+\t: type_(ControlTypeInteger), integer_(value)\n {\n }\n \n@@ -73,7 +73,7 @@ ControlValue::ControlValue(int value)\n  * \\param[in] value Integer value to store\n  */\n ControlValue::ControlValue(int64_t value)\n-\t: type_(ControlValueInteger64), integer64_(value)\n+\t: type_(ControlTypeInteger64), integer64_(value)\n {\n }\n \n@@ -86,7 +86,7 @@ ControlValue::ControlValue(int64_t value)\n /**\n  * \\fn ControlValue::isNone()\n  * \\brief Determine if the value is not initialised\n- * \\return True if the value type is ControlValueNone, false otherwise\n+ * \\return True if the value type is ControlTypeNone, false otherwise\n  */\n \n /**\n@@ -95,7 +95,7 @@ ControlValue::ControlValue(int64_t value)\n  */\n void ControlValue::set(bool value)\n {\n-\ttype_ = ControlValueBool;\n+\ttype_ = ControlTypeBool;\n \tbool_ = value;\n }\n \n@@ -105,7 +105,7 @@ void ControlValue::set(bool value)\n  */\n void ControlValue::set(int value)\n {\n-\ttype_ = ControlValueInteger;\n+\ttype_ = ControlTypeInteger;\n \tinteger_ = value;\n }\n \n@@ -115,7 +115,7 @@ void ControlValue::set(int value)\n  */\n void ControlValue::set(int64_t value)\n {\n-\ttype_ = ControlValueInteger64;\n+\ttype_ = ControlTypeInteger64;\n \tinteger64_ = value;\n }\n \n@@ -128,7 +128,7 @@ void ControlValue::set(int64_t value)\n  */\n bool ControlValue::getBool() const\n {\n-\tASSERT(type_ == ControlValueBool);\n+\tASSERT(type_ == ControlTypeBool);\n \n \treturn bool_;\n }\n@@ -142,7 +142,7 @@ bool ControlValue::getBool() const\n  */\n int ControlValue::getInt() const\n {\n-\tASSERT(type_ == ControlValueInteger || type_ == ControlValueInteger64);\n+\tASSERT(type_ == ControlTypeInteger || type_ == ControlTypeInteger64);\n \n \treturn integer_;\n }\n@@ -156,7 +156,7 @@ int ControlValue::getInt() const\n  */\n int64_t ControlValue::getInt64() const\n {\n-\tASSERT(type_ == ControlValueInteger || type_ == ControlValueInteger64);\n+\tASSERT(type_ == ControlTypeInteger || type_ == ControlTypeInteger64);\n \n \treturn integer64_;\n }\n@@ -168,13 +168,13 @@ int64_t ControlValue::getInt64() const\n std::string ControlValue::toString() const\n {\n \tswitch (type_) {\n-\tcase ControlValueNone:\n+\tcase ControlTypeNone:\n \t\treturn \"<None>\";\n-\tcase ControlValueBool:\n+\tcase ControlTypeBool:\n \t\treturn bool_ ? \"True\" : \"False\";\n-\tcase ControlValueInteger:\n+\tcase ControlTypeInteger:\n \t\treturn std::to_string(integer_);\n-\tcase ControlValueInteger64:\n+\tcase ControlTypeInteger64:\n \t\treturn std::to_string(integer64_);\n \t}\n \ndiff --git a/src/libcamera/gen-controls.awk b/src/libcamera/gen-controls.awk\nindex f3d068123012..a3f291e7071c 100755\n--- a/src/libcamera/gen-controls.awk\n+++ b/src/libcamera/gen-controls.awk\n@@ -92,7 +92,7 @@ function GenerateTable(file) {\n \tprint \"extern const std::unordered_map<ControlId, ControlIdentifier>\" > file\n \tprint \"controlTypes {\" > file\n \tfor (i=1; i <= id; ++i) {\n-\t\tprintf \"\\t{ %s, { %s, \\\"%s\\\", ControlValue%s } },\\n\", names[i], names[i], names[i], types[i] > file\n+\t\tprintf \"\\t{ %s, { %s, \\\"%s\\\", ControlType%s } },\\n\", names[i], names[i], names[i], types[i] > file\n \t}\n \tprint \"};\" > file\n \tExitNameSpace(file)\ndiff --git a/test/controls/control_info.cpp b/test/controls/control_info.cpp\nindex aa3a65b1e5ef..8cda860b9fe9 100644\n--- a/test/controls/control_info.cpp\n+++ b/test/controls/control_info.cpp\n@@ -26,7 +26,7 @@ protected:\n \t\tControlInfo info(Brightness);\n \n \t\tif (info.id() != Brightness ||\n-\t\t    info.type() != ControlValueInteger ||\n+\t\t    info.type() != ControlTypeInteger ||\n \t\t    info.name() != std::string(\"Brightness\")) {\n \t\t\tcout << \"Invalid control identification for Brightness\" << endl;\n \t\t\treturn TestFail;\n@@ -44,7 +44,7 @@ protected:\n \t\tinfo = ControlInfo(Contrast, 10, 200);\n \n \t\tif (info.id() != Contrast ||\n-\t\t    info.type() != ControlValueInteger ||\n+\t\t    info.type() != ControlTypeInteger ||\n \t\t    info.name() != std::string(\"Contrast\")) {\n \t\t\tcout << \"Invalid control identification for Contrast\" << endl;\n \t\t\treturn TestFail;\n",
    "prefixes": [
        "libcamera-devel",
        "v2",
        "01/13"
    ]
}