[waffle] [PATCH 07/12] waffle: support platform-specific information

Frank Henigman fjhenigman at google.com
Thu Apr 21 20:26:41 UTC 2016


On Fri, Jan 8, 2016 at 7:44 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> On 6 January 2016 at 21:56, Frank Henigman <fjhenigman at google.com> wrote:
>> Add a platform hook so platform-specific information can be included
>> by waffle_display_info_json().
>>
>> Signed-off-by: Frank Henigman <fjhenigman at google.com>
>> ---
>>  src/waffle/api/waffle_display.c  | 10 +++++++++-
>>  src/waffle/core/wcore_platform.h |  4 ++++
>>  2 files changed, 13 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/waffle/api/waffle_display.c b/src/waffle/api/waffle_display.c
>> index 7abe2ef..d6988ac 100644
>> --- a/src/waffle/api/waffle_display.c
>> +++ b/src/waffle/api/waffle_display.c
>> @@ -367,8 +367,16 @@ waffle_display_info_json(struct waffle_display *self, bool platform_too)
>>
>>      json_appendv(jj, "{", "generic", "{", "");
>>      add_generic_info(jj, wc_self->current_context);
>> -    json_appendv(jj, "}", "}", "");
>> +    json_append(jj, "}");
>>
>> +    if (platform_too) {
>> +        json_appendv(jj, "platform", "{", "");
>> +        if (api_platform->vtbl->display.info_json)
>> +            api_platform->vtbl->display.info_json(wc_self, jj);
> The rest of waffle tends to set UNSUPPORTED_ON_PLATFORM if the backend
> is missing the vfunc.

I'm reluctant to set an error for something that isn't clearly an
error (it might just be that a backend doesn't have platform-specific
details) because it could add a burden to the user to distinguish this
case from definite errors.  If someone does need to act on the
presence or absence or platform-specifics, they can always examine the
json.


More information about the waffle mailing list