jack2 codebase
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.6KB

  1. /*
  2. Copyright (C) 2011 David Robillard
  3. Copyright (C) 2013 Paul Davis
  4. This program is free software; you can redistribute it and/or modify it
  5. under the terms of the GNU Lesser General Public License as published by
  6. the Free Software Foundation; either version 2.1 of the License, or (at
  7. your option) any later version.
  8. This program is distributed in the hope that it will be useful, but WITHOUT
  9. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  10. FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  11. License for more details.
  12. You should have received a copy of the GNU Lesser General Public License
  13. along with this program; if not, write to the Free Software Foundation,
  14. Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  15. */
  16. #ifndef __jack_metadata_int_h__
  17. #define __jack_metadata_int_h__
  18. #include <stdint.h>
  19. #ifdef __cplusplus
  20. extern "C" {
  21. #endif
  22. typedef struct {
  23. const char* key;
  24. const char* data;
  25. const char* type;
  26. } jack_property_t;
  27. typedef struct {
  28. jack_uuid_t subject;
  29. uint32_t property_cnt;
  30. jack_property_t* properties;
  31. uint32_t property_size;
  32. } jack_description_t;
  33. typedef enum {
  34. PropertyCreated,
  35. PropertyChanged,
  36. PropertyDeleted
  37. } jack_property_change_t;
  38. typedef void (*JackPropertyChangeCallback)(jack_uuid_t subject,
  39. const char* key,
  40. jack_property_change_t change,
  41. void* arg);
  42. #ifdef __cplusplus
  43. }
  44. #endif
  45. #endif