Commit 0e785f43 authored by Andrew Jeffery's avatar Andrew Jeffery
Browse files

transport: dbus: Implement create_write_window


Change-Id: I85b318cae135cfe8203cb01c54ab4872fcc947c0
Signed-off-by: Andrew Jeffery's avatarAndrew Jeffery <andrew@aj.id.au>
parent b9d72d0f
......@@ -214,10 +214,11 @@ static int transport_dbus_get_flash_info(sd_bus_message *m, void *userdata,
return sd_bus_send(NULL, n, NULL);
}
static int transport_dbus_create_read_window(sd_bus_message *m, void *userdata,
sd_bus_error *ret_error)
static int transport_dbus_create_window(struct mbox_context *context,
bool ro,
sd_bus_message *m,
sd_bus_error *ret_error)
{
struct mbox_context *context = userdata;
struct protocol_create_window io;
sd_bus_message *n;
int rc;
......@@ -233,7 +234,7 @@ static int transport_dbus_create_read_window(sd_bus_message *m, void *userdata,
return rc;
}
io.req.ro = true;
io.req.ro = ro;
rc = context->protocol->create_window(context, &io);
if (rc < 0) {
return rc;
......@@ -257,6 +258,22 @@ static int transport_dbus_create_read_window(sd_bus_message *m, void *userdata,
return sd_bus_send(NULL, n, NULL);
}
static int transport_dbus_create_read_window(sd_bus_message *m, void *userdata,
sd_bus_error *ret_error)
{
struct mbox_context *context = userdata;
return transport_dbus_create_window(context, true, m, ret_error);
}
static int transport_dbus_create_write_window(sd_bus_message *m, void *userdata,
sd_bus_error *ret_error)
{
struct mbox_context *context = userdata;
return transport_dbus_create_window(context, false, m, ret_error);
}
static int transport_dbus_ack(sd_bus_message *m, void *userdata,
sd_bus_error *ret_error)
{
......@@ -339,6 +356,9 @@ static const sd_bus_vtable protocol_v2_vtable[] = {
SD_BUS_METHOD("CreateReadWindow", "qq", "qqq",
&transport_dbus_create_read_window,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("CreateWriteWindow", "qq", "qqq",
&transport_dbus_create_write_window,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD("Ack", "y", NULL, &transport_dbus_ack,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_PROPERTY("FlashControlLost", "b", transport_dbus_get_property,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment