properties.inc 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. type
  2. Ppw_properties = ^Tpw_properties;
  3. Tpw_properties = record
  4. dict: Tspa_dict;
  5. flags: Tuint32_t;
  6. end;
  7. function pw_properties_new(key: PChar; args: array of const) : Ppw_properties; cdecl; external libpipewirename Name 'pw_properties_new';
  8. function pw_properties_new(key: PChar) : Ppw_properties; cdecl; external libpipewirename Name 'pw_properties_new';
  9. function pw_properties_new_dict(dict: Pspa_dict) : Ppw_properties; cdecl; external libpipewirename Name 'pw_properties_new_dict';
  10. function pw_properties_new_string(args: PChar) : Ppw_properties; cdecl; external libpipewirename Name 'pw_properties_new_string';
  11. function pw_properties_copy(properties: Ppw_properties) : Ppw_properties; cdecl; external libpipewirename Name 'pw_properties_copy';
  12. function pw_properties_update_keys(props: Ppw_properties; dict: Pspa_dict; keys: PPchar) : longint; cdecl; external libpipewirename Name 'pw_properties_update_keys';
  13. function pw_properties_update_ignore(props: Ppw_properties; dict: Pspa_dict; ignore: PPchar) : longint; cdecl; external libpipewirename Name 'pw_properties_update_ignore';
  14. function pw_properties_update(props: Ppw_properties; dict: Pspa_dict) : longint; cdecl; external libpipewirename Name 'pw_properties_update';
  15. function pw_properties_update_string(props: Ppw_properties; str: PChar; size: Tsize_t) : longint; cdecl; external libpipewirename Name 'pw_properties_update_string';
  16. function pw_properties_add(oldprops: Ppw_properties; dict: Pspa_dict) : longint; cdecl; external libpipewirename Name 'pw_properties_add';
  17. function pw_properties_add_keys(oldprops: Ppw_properties; dict: Pspa_dict; keys: PPchar) : longint; cdecl; external libpipewirename Name 'pw_properties_add_keys';
  18. procedure pw_properties_clear(properties: Ppw_properties); cdecl; external libpipewirename Name 'pw_properties_clear';
  19. procedure pw_properties_free(properties: Ppw_properties); cdecl; external libpipewirename Name 'pw_properties_free';
  20. function pw_properties_set(properties: Ppw_properties; key: PChar; Value: PChar) : longint; cdecl; external libpipewirename Name 'pw_properties_set';
  21. function pw_properties_setf(properties: Ppw_properties; key: PChar; format: PChar; args: array of const) : longint; cdecl; external libpipewirename Name 'pw_properties_setf';
  22. function pw_properties_setf(properties: Ppw_properties; key: PChar; format: PChar) : longint; cdecl; external libpipewirename Name 'pw_properties_setf';
  23. function pw_properties_setva(properties: Ppw_properties; key: PChar; format: PChar; args: pointer) : longint; cdecl; external libpipewirename Name 'pw_properties_setva';
  24. function pw_properties_get(properties: Ppw_properties; key: PChar) : PChar; cdecl; external libpipewirename Name 'pw_properties_get';
  25. function pw_properties_fetch_uint32(properties: Ppw_properties; key: PChar; Value: Puint32_t) : longint; cdecl; external libpipewirename Name 'pw_properties_fetch_uint32';
  26. function pw_properties_fetch_int32(properties: Ppw_properties; key: PChar; Value: Pint32_t) : longint; cdecl; external libpipewirename Name 'pw_properties_fetch_int32';
  27. function pw_properties_fetch_uint64(properties: Ppw_properties; key: PChar; Value: Puint64_t) : longint; cdecl; external libpipewirename Name 'pw_properties_fetch_uint64';
  28. function pw_properties_fetch_int64(properties: Ppw_properties; key: PChar; Value: Pint64_t) : longint; cdecl; external libpipewirename Name 'pw_properties_fetch_int64';
  29. function pw_properties_fetch_bool(properties: Ppw_properties; key: PChar; Value: P_Bool) : longint; cdecl; external libpipewirename Name 'pw_properties_fetch_bool';
  30. {
  31. static inline uint32_t
  32. pw_properties_get_uint32(const struct pw_properties *properties, const char *key, uint32_t deflt)
  33. uint32_t val = deflt;
  34. pw_properties_fetch_uint32(properties, key, &val);
  35. return val;
  36. static inline int32_t
  37. pw_properties_get_int32(const struct pw_properties *properties, const char *key, int32_t deflt)
  38. int32_t val = deflt;
  39. pw_properties_fetch_int32(properties, key, &val);
  40. return val;
  41. static inline uint64_t
  42. pw_properties_get_uint64(const struct pw_properties *properties, const char *key, uint64_t deflt)
  43. uint64_t val = deflt;
  44. pw_properties_fetch_uint64(properties, key, &val);
  45. return val;
  46. static inline int64_t
  47. pw_properties_get_int64(const struct pw_properties *properties, const char *key, int64_t deflt)
  48. int64_t val = deflt;
  49. pw_properties_fetch_int64(properties, key, &val);
  50. return val;
  51. static inline
  52. # 148 "/usr/include/pipewire-0.3/pipewire/properties.h" 3 4
  53. _Bool
  54. # 149 "/usr/include/pipewire-0.3/pipewire/properties.h"
  55. pw_properties_get_bool(const struct pw_properties *properties, const char *key,
  56. # 149 "/usr/include/pipewire-0.3/pipewire/properties.h" 3 4
  57. _Bool
  58. # 149 "/usr/include/pipewire-0.3/pipewire/properties.h"
  59. deflt)
  60. # 151 "/usr/include/pipewire-0.3/pipewire/properties.h" 3 4
  61. _Bool
  62. # 151 "/usr/include/pipewire-0.3/pipewire/properties.h"
  63. val = deflt;
  64. pw_properties_fetch_bool(properties, key, &val);
  65. return val;
  66. }
  67. function pw_properties_iterate(properties: Ppw_properties; state: Ppointer) : PChar; cdecl; external libpipewirename Name 'pw_properties_iterate';
  68. function pw_properties_serialize_dict(f: pointer; dict: Pspa_dict; flags: Tuint32_t) : longint; cdecl; external libpipewirename Name 'pw_properties_serialize_dict';
  69. {
  70. static inline
  71. # 162 "/usr/include/pipewire-0.3/pipewire/properties.h" 3 4
  72. _Bool
  73. # 162 "/usr/include/pipewire-0.3/pipewire/properties.h"
  74. pw_properties_parse_bool(const char *value)
  75. return spa_atob(value);
  76. static inline int pw_properties_parse_int(const char *value)
  77. int v;
  78. return spa_atoi32(value, &v, 0) ? v: 0;
  79. static inline int64_t pw_properties_parse_int64(const char *value)
  80. int64_t v;
  81. return spa_atoi64(value, &v, 0) ? v : 0;
  82. static inline uint64_t pw_properties_parse_uint64(const char *value)
  83. uint64_t v;
  84. return spa_atou64(value, &v, 0) ? v : 0;
  85. static inline float pw_properties_parse_float(const char *value)
  86. float v;
  87. return spa_atof(value, &v) ? v : 0.0f;
  88. static inline double pw_properties_parse_double(const char *value)
  89. double v;
  90. return spa_atod(value, &v) ? v : 0.0;
  91. }