JACK-AUDIO-CONNECTION-KIT
metadata.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2011-2014 David Robillard
3  Copyright (C) 2013 Paul Davis
4 
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.
9 
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.
14 
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.
18 */
19 
27 #ifndef __jack_metadata_h__
28 #define __jack_metadata_h__
29 
30 #include <jack/types.h>
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
53 typedef struct {
55  const char* key;
56 
58  const char* data;
59 
77  const char* type;
79 
91 int
93  jack_uuid_t subject,
94  const char* key,
95  const char* value,
96  const char* type);
97 
111 int
113  const char* key,
114  char** value,
115  char** type);
116 
120 typedef struct {
122  uint32_t property_cnt;
124  uint32_t property_size;
126 
133 void
134 jack_free_description (jack_description_t* desc, int free_description_itself);
135 
143 int
145  jack_description_t* desc);
146 
154 int
156 
166 int jack_remove_property (jack_client_t* client, jack_uuid_t subject, const char* key);
167 
177 
190 
191 typedef enum {
196 
209 typedef void (*JackPropertyChangeCallback)(jack_uuid_t subject,
210  const char* key,
211  jack_property_change_t change,
212  void* arg);
213 
226  void* arg);
227 
232 extern const char* JACK_METADATA_CONNECTED;
233 
245 extern const char* JACK_METADATA_EVENT_TYPES;
246 
252 extern const char* JACK_METADATA_HARDWARE;
253 
259 extern const char* JACK_METADATA_ICON_LARGE;
260 
270 extern const char* JACK_METADATA_ICON_NAME;
271 
277 extern const char* JACK_METADATA_ICON_SMALL;
278 
290 extern const char* JACK_METADATA_ORDER;
291 
297 extern const char* JACK_METADATA_PRETTY_NAME;
298 
301 extern const char* JACK_METADATA_PORT_GROUP;
302 
312 extern const char* JACK_METADATA_SIGNAL_TYPE;
313 
318 #ifdef __cplusplus
319 } /* namespace */
320 #endif
321 
322 #endif /* __jack_metadata_h__ */
int jack_get_property(jack_uuid_t subject, const char *key, char **value, char **type)
void(* JackPropertyChangeCallback)(jack_uuid_t subject, const char *key, jack_property_change_t change, void *arg)
Definition: metadata.h:209
const char * JACK_METADATA_SIGNAL_TYPE
int jack_remove_all_properties(jack_client_t *client)
jack_property_change_t
Definition: metadata.h:191
int jack_get_all_properties(jack_description_t **descs)
int jack_get_properties(jack_uuid_t subject, jack_description_t *desc)
const char * JACK_METADATA_PORT_GROUP
const char * JACK_METADATA_HARDWARE
const char * JACK_METADATA_PRETTY_NAME
int jack_remove_properties(jack_client_t *client, jack_uuid_t subject)
const char * JACK_METADATA_EVENT_TYPES
const char * JACK_METADATA_ICON_SMALL
const char * JACK_METADATA_ORDER
const char * JACK_METADATA_CONNECTED
void jack_free_description(jack_description_t *desc, int free_description_itself)
const char * JACK_METADATA_ICON_NAME
int jack_remove_property(jack_client_t *client, jack_uuid_t subject, const char *key)
const char * JACK_METADATA_ICON_LARGE
int jack_set_property(jack_client_t *, jack_uuid_t subject, const char *key, const char *value, const char *type)
int jack_set_property_change_callback(jack_client_t *client, JackPropertyChangeCallback callback, void *arg)
@ PropertyDeleted
Definition: metadata.h:194
@ PropertyChanged
Definition: metadata.h:193
@ PropertyCreated
Definition: metadata.h:192
Definition: metadata.h:120
jack_uuid_t subject
Definition: metadata.h:121
jack_property_t * properties
Definition: metadata.h:123
uint32_t property_size
Definition: metadata.h:124
uint32_t property_cnt
Definition: metadata.h:122
Definition: metadata.h:53
const char * type
Definition: metadata.h:77
const char * key
Definition: metadata.h:55
const char * data
Definition: metadata.h:58
uint64_t jack_uuid_t
Definition: types.h:27
struct _jack_client jack_client_t
Definition: types.h:89