mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-12-20 08:56:56 -05:00
Registry: implement registry
Make GET_REGISTRY method to create a registry resource, send global added and removed to this resource. Use map for storing proxies and resources.
This commit is contained in:
parent
3dada4731c
commit
7c29209023
15 changed files with 221 additions and 59 deletions
|
|
@ -710,10 +710,16 @@ pinos_connection_parse_message (PinosConnection *conn,
|
|||
memcpy (message, conn->in.data, sizeof (PinosMessageNotifyDone));
|
||||
break;
|
||||
|
||||
case PINOS_MESSAGE_SUBSCRIBE:
|
||||
if (conn->in.size < sizeof (PinosMessageSubscribe))
|
||||
case PINOS_MESSAGE_GET_REGISTRY:
|
||||
if (conn->in.size < sizeof (PinosMessageGetRegistry))
|
||||
return false;
|
||||
memcpy (message, conn->in.data, sizeof (PinosMessageSubscribe));
|
||||
memcpy (message, conn->in.data, sizeof (PinosMessageGetRegistry));
|
||||
break;
|
||||
|
||||
case PINOS_MESSAGE_BIND:
|
||||
if (conn->in.size < sizeof (PinosMessageBind))
|
||||
return false;
|
||||
memcpy (message, conn->in.data, sizeof (PinosMessageBind));
|
||||
break;
|
||||
|
||||
case PINOS_MESSAGE_NOTIFY_GLOBAL:
|
||||
|
|
@ -749,6 +755,17 @@ pinos_connection_parse_message (PinosConnection *conn,
|
|||
d->datafd = connection_get_fd (conn, d->datafd);
|
||||
break;
|
||||
}
|
||||
case PINOS_MESSAGE_DESTROY:
|
||||
if (conn->in.size < sizeof (PinosMessageDestroy))
|
||||
return false;
|
||||
memcpy (message, conn->in.data, sizeof (PinosMessageDestroy));
|
||||
break;
|
||||
|
||||
case PINOS_MESSAGE_DESTROY_DONE:
|
||||
if (conn->in.size < sizeof (PinosMessageDestroyDone))
|
||||
return false;
|
||||
memcpy (message, conn->in.data, sizeof (PinosMessageDestroyDone));
|
||||
break;
|
||||
|
||||
/* C -> S */
|
||||
case PINOS_MESSAGE_NODE_UPDATE:
|
||||
|
|
@ -865,9 +882,14 @@ pinos_connection_add_message (PinosConnection *conn,
|
|||
memcpy (p, message, sizeof (PinosMessageNotifyDone));
|
||||
break;
|
||||
|
||||
case PINOS_MESSAGE_SUBSCRIBE:
|
||||
p = connection_add_message (conn, dest_id, type, sizeof (PinosMessageSubscribe));
|
||||
memcpy (p, message, sizeof (PinosMessageSubscribe));
|
||||
case PINOS_MESSAGE_GET_REGISTRY:
|
||||
p = connection_add_message (conn, dest_id, type, sizeof (PinosMessageGetRegistry));
|
||||
memcpy (p, message, sizeof (PinosMessageGetRegistry));
|
||||
break;
|
||||
|
||||
case PINOS_MESSAGE_BIND:
|
||||
p = connection_add_message (conn, dest_id, type, sizeof (PinosMessageBind));
|
||||
memcpy (p, message, sizeof (PinosMessageBind));
|
||||
break;
|
||||
|
||||
case PINOS_MESSAGE_NOTIFY_GLOBAL:
|
||||
|
|
@ -900,6 +922,16 @@ pinos_connection_add_message (PinosConnection *conn,
|
|||
d->datafd = connection_add_fd (conn, d->datafd);
|
||||
break;
|
||||
}
|
||||
case PINOS_MESSAGE_DESTROY:
|
||||
p = connection_add_message (conn, dest_id, type, sizeof (PinosMessageDestroy));
|
||||
memcpy (p, message, sizeof (PinosMessageDestroy));
|
||||
break;
|
||||
|
||||
case PINOS_MESSAGE_DESTROY_DONE:
|
||||
p = connection_add_message (conn, dest_id, type, sizeof (PinosMessageDestroyDone));
|
||||
memcpy (p, message, sizeof (PinosMessageDestroyDone));
|
||||
break;
|
||||
|
||||
|
||||
/* C -> S */
|
||||
case PINOS_MESSAGE_NODE_UPDATE:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue