global.inc 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. const
  2. libpipewire='libpipewire-0.3'; {Setup as you need}
  3. { Pointers to basic pascal types, inserted by h2pas conversion program.}
  4. Type
  5. PLongint = ^Longint;
  6. PSmallInt = ^SmallInt;
  7. PByte = ^Byte;
  8. PWord = ^Word;
  9. PDWord = ^DWord;
  10. PDouble = ^Double;
  11. Type
  12. Pchar = ^Tchar;
  13. Ppw_context = ^Tpw_context;
  14. Ppw_global = ^Tpw_global;
  15. Ppw_global_events = ^Tpw_global_events;
  16. Ppw_impl_client = ^Tpw_impl_client;
  17. Ppw_properties = ^Tpw_properties;
  18. Ppw_resource = ^Tpw_resource;
  19. Pspa_dict = ^Tspa_dict;
  20. Pspa_hook = ^Tspa_hook;
  21. {$IFDEF FPC}
  22. {$PACKRECORDS C}
  23. {$ENDIF}
  24. type
  25. Tpw_global_bind_func_t = function (object:pointer; client:Ppw_impl_client; permissions:Tuint32_t; version:Tuint32_t; id:Tuint32_t):longint;cdecl;
  26. Ppw_global_events = ^Tpw_global_events;
  27. Tpw_global_events = record
  28. version : Tuint32_t;cdecl;
  29. destroy : procedure (data:pointer);cdecl;
  30. free : procedure (data:pointer);cdecl;
  31. permissions_changed : procedure (data:pointer; client:Ppw_impl_client; old_permissions:Tuint32_t; new_permissions:Tuint32_t);cdecl;
  32. end;
  33. function pw_global_new(context:Ppw_context; _type:Pchar; version:Tuint32_t; properties:Ppw_properties; func:Tpw_global_bind_func_t;
  34. object:pointer):Ppw_global;cdecl;external libpipewire name 'pw_global_new';
  35. function pw_global_register(global:Ppw_global):longint;cdecl;external libpipewire name 'pw_global_register';
  36. procedure pw_global_add_listener(global:Ppw_global; listener:Pspa_hook; events:Ppw_global_events; data:pointer);cdecl;external libpipewire name 'pw_global_add_listener';
  37. function pw_global_get_permissions(global:Ppw_global; client:Ppw_impl_client):Tuint32_t;cdecl;external libpipewire name 'pw_global_get_permissions';
  38. function pw_global_get_context(global:Ppw_global):Ppw_context;cdecl;external libpipewire name 'pw_global_get_context';
  39. function pw_global_get_type(global:Ppw_global):Pchar;cdecl;external libpipewire name 'pw_global_get_type';
  40. function pw_global_is_type(global:Ppw_global; _type:Pchar):T_Bool;cdecl;external libpipewire name 'pw_global_is_type';
  41. function pw_global_get_version(global:Ppw_global):Tuint32_t;cdecl;external libpipewire name 'pw_global_get_version';
  42. function pw_global_get_properties(global:Ppw_global):Ppw_properties;cdecl;external libpipewire name 'pw_global_get_properties';
  43. function pw_global_update_keys(global:Ppw_global; dict:Pspa_dict; keys:PPchar):longint;cdecl;external libpipewire name 'pw_global_update_keys';
  44. function pw_global_get_object(global:Ppw_global):pointer;cdecl;external libpipewire name 'pw_global_get_object';
  45. function pw_global_get_id(global:Ppw_global):Tuint32_t;cdecl;external libpipewire name 'pw_global_get_id';
  46. function pw_global_get_serial(global:Ppw_global):Tuint64_t;cdecl;external libpipewire name 'pw_global_get_serial';
  47. function pw_global_add_resource(global:Ppw_global; resource:Ppw_resource):longint;cdecl;external libpipewire name 'pw_global_add_resource';
  48. function pw_global_for_each_resource(global:Ppw_global; callback:function (data:pointer; resource:Ppw_resource):longint; data:pointer):longint;cdecl;external libpipewire name 'pw_global_for_each_resource';
  49. function pw_global_bind(global:Ppw_global; client:Ppw_impl_client; permissions:Tuint32_t; version:Tuint32_t; id:Tuint32_t):longint;cdecl;external libpipewire name 'pw_global_bind';
  50. function pw_global_update_permissions(global:Ppw_global; client:Ppw_impl_client; old_permissions:Tuint32_t; new_permissions:Tuint32_t):longint;cdecl;external libpipewire name 'pw_global_update_permissions';
  51. procedure pw_global_destroy(global:Ppw_global);cdecl;external libpipewire name 'pw_global_destroy';