JACK-AUDIO-CONNECTION-KIT  0.125.0rc1
metadata.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2011 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 
44 typedef struct {
46  const char* key;
47 
49  const char* data;
50 
68  const char* type;
70 
82 int
84  jack_uuid_t subject,
85  const char* key,
86  const char* value,
87  const char* type);
88 
102 int
104  const char* key,
105  char** value,
106  char** type);
107 
111 typedef struct {
113  uint32_t property_cnt;
115  uint32_t property_size;
117 
124 void
125 jack_free_description (jack_description_t* desc, int free_description_itself);
126 
134 int
136  jack_description_t* desc);
137 
145 int
147 
157 int jack_remove_property (jack_client_t* client, jack_uuid_t subject, const char* key);
158 
168 
181 
182 typedef enum {
187 
188 typedef void (*JackPropertyChangeCallback)(jack_uuid_t subject,
189  const char* key,
190  jack_property_change_t change,
191  void* arg);
192 
205  void* arg);
206 
207 #ifdef __cplusplus
208 } /* namespace */
209 #endif
210 
215 extern const char* JACK_METADATA_PRETTY_NAME;
216 extern const char* JACK_METADATA_HARDWARE;
217 extern const char* JACK_METADATA_CONNECTED;
218 extern const char* JACK_METADATA_PORT_GROUP;
219 extern const char* JACK_METADATA_ICON_SMALL;
220 extern const char* JACK_METADATA_ICON_LARGE;
221 
222 #endif /* __jack_metadata_h__ */
client
jack_client_t * client
Definition: simple_client.c:17
jack_property_t::key
const char * key
Definition: metadata.h:46
jack_description_t::subject
jack_uuid_t subject
Definition: metadata.h:112
types.h
jack_set_property_change_callback
int jack_set_property_change_callback(jack_client_t *client, JackPropertyChangeCallback callback, void *arg)
jack_property_t::data
const char * data
Definition: metadata.h:49
jack_remove_property
int jack_remove_property(jack_client_t *client, jack_uuid_t subject, const char *key)
jack_get_properties
int jack_get_properties(jack_uuid_t subject, jack_description_t *desc)
JACK_METADATA_ICON_LARGE
const char * JACK_METADATA_ICON_LARGE
jack_client_t
struct _jack_client jack_client_t
Definition: types.h:89
jack_property_change_t
jack_property_change_t
Definition: metadata.h:182
jack_remove_all_properties
int jack_remove_all_properties(jack_client_t *client)
jack_set_property
int jack_set_property(jack_client_t *, jack_uuid_t subject, const char *key, const char *value, const char *type)
jack_property_t::type
const char * type
Definition: metadata.h:68
jack_description_t::property_cnt
uint32_t property_cnt
Definition: metadata.h:113
PropertyChanged
@ PropertyChanged
Definition: metadata.h:184
jack_description_t
Definition: metadata.h:111
JACK_METADATA_ICON_SMALL
const char * JACK_METADATA_ICON_SMALL
jack_property_t
Definition: metadata.h:44
jack_free_description
void jack_free_description(jack_description_t *desc, int free_description_itself)
jack_get_all_properties
int jack_get_all_properties(jack_description_t **descs)
JACK_METADATA_PRETTY_NAME
const char * JACK_METADATA_PRETTY_NAME
JACK_METADATA_CONNECTED
const char * JACK_METADATA_CONNECTED
jack_description_t::property_size
uint32_t property_size
Definition: metadata.h:115
jack_description_t::properties
jack_property_t * properties
Definition: metadata.h:114
JackPropertyChangeCallback
void(* JackPropertyChangeCallback)(jack_uuid_t subject, const char *key, jack_property_change_t change, void *arg)
Definition: metadata.h:188
jack_uuid_t
uint64_t jack_uuid_t
Definition: types.h:27
JACK_METADATA_PORT_GROUP
const char * JACK_METADATA_PORT_GROUP
JACK_METADATA_HARDWARE
const char * JACK_METADATA_HARDWARE
jack_remove_properties
int jack_remove_properties(jack_client_t *client, jack_uuid_t subject)
PropertyCreated
@ PropertyCreated
Definition: metadata.h:183
jack_get_property
int jack_get_property(jack_uuid_t subject, const char *key, char **value, char **type)
PropertyDeleted
@ PropertyDeleted
Definition: metadata.h:185