From a4e764c3e20a367caf6a164131dc259100914d61 Mon Sep 17 00:00:00 2001 From: Mario Limonciello Date: Thu, 24 Aug 2017 11:32:17 -0500 Subject: [PATCH] Introduce a plugin interaction ABI --- README.md | 13 ------------- plugins/README.md | 23 +++++++++++++++++++++++ src/fu-device-metadata.h | 25 +++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 13 deletions(-) create mode 100644 plugins/README.md create mode 100644 src/fu-device-metadata.h diff --git a/README.md b/README.md index fbb88e2a0..ede16db23 100644 --- a/README.md +++ b/README.md @@ -10,19 +10,6 @@ Additional information is available at the website: http://www.fwupd.org The most up to date compilation instructions are available in the [Wiki](https://github.com/hughsie/fwupd/wiki/Compilation) -Adding a new plugin -------------------- - -An extensible architecture allows for providing new plugin types (for reading -and writing different firmware) as well as ways quirk their behavior. - -You can find more information about the architecture in the developers section -of the [fwupd website](http://www.fwupd.org). - -If you have a firmware specification and would like to see support -in this project, please file an issue and share the spec. Patches are also -welcome. - LVFS ---- This project is configured by default to download firmware from the [Linux Vendor diff --git a/plugins/README.md b/plugins/README.md new file mode 100644 index 000000000..079c0e7a2 --- /dev/null +++ b/plugins/README.md @@ -0,0 +1,23 @@ +Adding a new plugin +------------------- + +An extensible architecture allows for providing new plugin types (for reading +and writing different firmware) as well as ways quirk their behavior. + +You can find more information about the architecture in the developers section +of the [fwupd website](http://www.fwupd.org). + +If you have a firmware specification and would like to see support +in this project, please file an issue and share the spec. Patches are also +welcome. + +Plugin interaction +------------------ +Some plugins may be able to influence the behavior of other plugins. +This includes things like one plugin turnin on a device, or providing missing +metadata to another plugin. + +The ABI for these interactions is defined in: +https://github.com/hughsie/fwupd/blob/master/src/fu-device-metadata.h + +All interactions between plugins should have the interface defined in that file. diff --git a/src/fu-device-metadata.h b/src/fu-device-metadata.h new file mode 100644 index 000000000..77bc2a313 --- /dev/null +++ b/src/fu-device-metadata.h @@ -0,0 +1,25 @@ +/* -*- mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2017 Mario Limonciello + * + * Licensed under the GNU General Public License Version 2 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __FU_DEVICE_METADATA_H__ +#define __FU_DEVICE_METADATA_H__ + +#endif /* __FU_DEVICE_METADATA_H__ */