2 Copyright (C) 2011 David Robillard
3 Copyright (C) 2013 Paul Davis
5 This program is free software; you can redistribute it and/or modify it
6 under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation; either version 2.1 of the License, or (at
8 your option) any later version.
10 This program is distributed in the hope that it will be useful, but WITHOUT
11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
13 License for more details.
15 You should have received a copy of the GNU Lesser General Public License
16 along with this program; if not, write to the Free Software Foundation,
17 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 #ifndef __JackMetadata__
21 #define __JackMetadata__
29 #include <jack/uuid.h>
43 uint32_t property_cnt
;
44 jack_property_t
* properties
;
45 uint32_t property_size
;
52 } jack_property_change_t
;
54 typedef void (*JackPropertyChangeCallback
)(jack_uuid_t subject
,
56 jack_property_change_t change
,
84 int PropertyChangeNotify(JackClient
* client
, jack_uuid_t subject
, const char* key
, jack_property_change_t change
);
87 void MakeKeyDbt(DBT
* dbt
, jack_uuid_t subject
, const char* key
);
92 JackMetadata(bool isEngine
);
95 int GetProperty(jack_uuid_t subject
, const char* key
, char** value
, char** type
);
96 int GetProperties(jack_uuid_t subject
, jack_description_t
* desc
);
97 int GetAllProperties(jack_description_t
** descriptions
);
99 int GetDescription(jack_uuid_t subject
, jack_description_t
* desc
);
100 int GetAllDescriptions(jack_description_t
** descs
);
101 void FreeDescription(jack_description_t
* desc
, int free_actual_description_too
);
103 int SetProperty(JackClient
* client
, jack_uuid_t subject
, const char* key
, const char* value
, const char* type
);
105 int RemoveProperty(JackClient
* client
, jack_uuid_t subject
, const char* key
);
106 int RemoveProperties(JackClient
* client
, jack_uuid_t subject
);
107 int RemoveAllProperties(JackClient
* client
);
112 } // end of namespace