Jack2
1.9.22
common
jack
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
26
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
40
53
typedef
struct
{
55
const
char
*
key
;
56
58
const
char
*
data
;
59
77
const
char
*
type
;
78
}
jack_property_t
;
79
91
int
92
jack_set_property
(jack_client_t*,
93
jack_uuid_t subject,
94
const
char
* key,
95
const
char
* value,
96
const
char
* type);
97
111
int
112
jack_get_property
(jack_uuid_t subject,
113
const
char
* key,
114
char
** value,
115
char
** type);
116
120
typedef
struct
{
121
jack_uuid_t
subject
;
122
uint32_t
property_cnt
;
123
jack_property_t
*
properties
;
124
uint32_t
property_size
;
125
}
jack_description_t
;
126
133
void
134
jack_free_description
(
jack_description_t
* desc,
int
free_description_itself);
135
143
int
144
jack_get_properties
(jack_uuid_t subject,
145
jack_description_t
* desc);
146
154
int
155
jack_get_all_properties
(
jack_description_t
** descs);
156
166
int
jack_remove_property
(jack_client_t* client, jack_uuid_t subject,
const
char
* key);
167
176
int
jack_remove_properties
(jack_client_t* client, jack_uuid_t subject);
177
189
int
jack_remove_all_properties
(jack_client_t* client);
190
191
typedef
enum
{
192
PropertyCreated,
193
PropertyChanged,
194
PropertyDeleted
195
} jack_property_change_t;
196
209
typedef
void (*
JackPropertyChangeCallback
)(jack_uuid_t subject,
210
const
char
* key,
211
jack_property_change_t change,
212
void
* arg);
213
224
int
jack_set_property_change_callback
(jack_client_t* client,
225
JackPropertyChangeCallback
callback,
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
317
318
#ifdef __cplusplus
319
}
/* namespace */
320
#endif
321
322
#endif
/* __jack_metadata_h__ */
jack_get_property
int jack_get_property(jack_uuid_t subject, const char *key, char **value, char **type)
JackPropertyChangeCallback
void(* JackPropertyChangeCallback)(jack_uuid_t subject, const char *key, jack_property_change_t change, void *arg)
Definition
metadata.h:209
JACK_METADATA_SIGNAL_TYPE
const char * JACK_METADATA_SIGNAL_TYPE
jack_remove_all_properties
int jack_remove_all_properties(jack_client_t *client)
jack_get_all_properties
int jack_get_all_properties(jack_description_t **descs)
jack_get_properties
int jack_get_properties(jack_uuid_t subject, jack_description_t *desc)
JACK_METADATA_HARDWARE
const char * JACK_METADATA_HARDWARE
JACK_METADATA_PRETTY_NAME
const char * JACK_METADATA_PRETTY_NAME
jack_remove_properties
int jack_remove_properties(jack_client_t *client, jack_uuid_t subject)
JACK_METADATA_EVENT_TYPES
const char * JACK_METADATA_EVENT_TYPES
JACK_METADATA_ICON_SMALL
const char * JACK_METADATA_ICON_SMALL
JACK_METADATA_ORDER
const char * JACK_METADATA_ORDER
JACK_METADATA_CONNECTED
const char * JACK_METADATA_CONNECTED
jack_free_description
void jack_free_description(jack_description_t *desc, int free_description_itself)
JACK_METADATA_ICON_NAME
const char * JACK_METADATA_ICON_NAME
jack_remove_property
int jack_remove_property(jack_client_t *client, jack_uuid_t subject, const char *key)
JACK_METADATA_ICON_LARGE
const char * JACK_METADATA_ICON_LARGE
jack_set_property
int jack_set_property(jack_client_t *, jack_uuid_t subject, const char *key, const char *value, const char *type)
jack_set_property_change_callback
int jack_set_property_change_callback(jack_client_t *client, JackPropertyChangeCallback callback, void *arg)
jack_description_t
Definition
metadata.h:120
jack_description_t::subject
jack_uuid_t subject
Definition
metadata.h:121
jack_description_t::properties
jack_property_t * properties
Definition
metadata.h:123
jack_description_t::property_size
uint32_t property_size
Definition
metadata.h:124
jack_description_t::property_cnt
uint32_t property_cnt
Definition
metadata.h:122
jack_property_t
Definition
metadata.h:53
jack_property_t::type
const char * type
Definition
metadata.h:77
jack_property_t::key
const char * key
Definition
metadata.h:55
jack_property_t::data
const char * data
Definition
metadata.h:58
Generated by
1.14.0