Jack2
1.9.10
|
00001 /* 00002 Copyright (C) 2011 David Robillard 00003 Copyright (C) 2013 Paul Davis 00004 00005 This program is free software; you can redistribute it and/or modify it 00006 under the terms of the GNU Lesser General Public License as published by 00007 the Free Software Foundation; either version 2.1 of the License, or (at 00008 your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, but WITHOUT 00011 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00012 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 00013 License for more details. 00014 00015 You should have received a copy of the GNU Lesser General Public License 00016 along with this program; if not, write to the Free Software Foundation, 00017 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00018 */ 00019 00020 #ifndef __jack_metadata_int_h__ 00021 #define __jack_metadata_int_h__ 00022 00023 #include <stdint.h> 00024 00025 #ifdef __cplusplus 00026 extern "C" { 00027 #endif 00028 00029 typedef struct { 00030 const char* key; 00031 const char* data; 00032 const char* type; 00033 } jack_property_t; 00034 00035 typedef struct { 00036 jack_uuid_t subject; 00037 uint32_t property_cnt; 00038 jack_property_t* properties; 00039 uint32_t property_size; 00040 } jack_description_t; 00041 00042 typedef enum { 00043 PropertyCreated, 00044 PropertyChanged, 00045 PropertyDeleted 00046 } jack_property_change_t; 00047 00048 typedef void (*JackPropertyChangeCallback)(jack_uuid_t subject, 00049 const char* key, 00050 jack_property_change_t change, 00051 void* arg); 00052 00053 #ifdef __cplusplus 00054 } 00055 #endif 00056 #endif