Browse Source

stub/empty implementation of metadata

tags/v1.9.10
falkTX 11 years ago
parent
commit
f1f40a0dc9
3 changed files with 178 additions and 1 deletions
  1. +114
    -0
      common/JackAPI.cpp
  2. +1
    -1
      common/JackConstants.h
  3. +63
    -0
      common/JackMetadata.h

+ 114
- 0
common/JackAPI.cpp View File

@@ -26,6 +26,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "JackGlobals.h"
#include "JackTime.h"
#include "JackPortType.h"
#include "JackMetadata.h"
#include <math.h>

using namespace Jack;
@@ -38,6 +39,13 @@ extern "C"
typedef void (*print_function)(const char*);
typedef void *(*thread_routine)(void*);

const char* JACK_METADATA_PRETTY_NAME = "http://jackaudio.org/metadata/pretty-name";
const char* JACK_METADATA_HARDWARE = "http://jackaudio.org/metadata/hardware";
const char* JACK_METADATA_CONNECTED = "http://jackaudio.org/metadata/connected";
const char* JACK_METADATA_PORT_GROUP = "http://jackaudio.org/metadata/port-group";
const char* JACK_METADATA_ICON_SMALL = "http://jackaudio.org/metadata/icon-small";
const char* JACK_METADATA_ICON_LARGE = "http://jackaudio.org/metadata/icon-large";

LIB_EXPORT
void
jack_get_version(
@@ -263,6 +271,26 @@ extern "C"
LIB_EXPORT void jack_session_commands_free(jack_session_command_t *cmds);
LIB_EXPORT int jack_client_has_session_callback(jack_client_t *client, const char* client_name);

LIB_EXPORT int jack_set_property(jack_client_t*, jack_uuid_t subject, const char* key, const char* value, const char* type);
LIB_EXPORT int jack_get_property(jack_uuid_t subject, const char* key, char** value, char** type);
LIB_EXPORT void jack_free_description(jack_description_t* desc, int free_description_itself);
LIB_EXPORT int jack_get_properties(jack_uuid_t subject, jack_description_t* desc);
LIB_EXPORT int jack_get_all_properties(jack_description_t** descs);
LIB_EXPORT int jack_remove_property(jack_client_t* client, jack_uuid_t subject, const char* key);
LIB_EXPORT int jack_remove_properties(jack_client_t* client, jack_uuid_t subject);
LIB_EXPORT int jack_remove_all_properties(jack_client_t* client);
LIB_EXPORT int jack_set_property_change_callback(jack_client_t* client, JackPropertyChangeCallback callback, void* arg);

LIB_EXPORT jack_uuid_t jack_client_uuid_generate();
LIB_EXPORT jack_uuid_t jack_port_uuid_generate(uint32_t port_id);
LIB_EXPORT uint32_t jack_uuid_to_index(jack_uuid_t);
LIB_EXPORT int jack_uuid_compare(jack_uuid_t, jack_uuid_t);
LIB_EXPORT void jack_uuid_copy(jack_uuid_t* dst, jack_uuid_t src);
LIB_EXPORT void jack_uuid_clear(jack_uuid_t*);
LIB_EXPORT int jack_uuid_parse(const char* buf, jack_uuid_t*);
LIB_EXPORT void jack_uuid_unparse(jack_uuid_t, char buf[JACK_UUID_STRING_SIZE]);
LIB_EXPORT int jack_uuid_empty(jack_uuid_t);

#ifdef __cplusplus
}
#endif
@@ -2031,3 +2059,89 @@ LIB_EXPORT int jack_client_has_session_callback(jack_client_t* ext_client, const
return client->ClientHasSessionCallback(client_name);
}
}

LIB_EXPORT int jack_set_property(jack_client_t*, jack_uuid_t, const char*, const char*, const char*)
{
return -1;
}

LIB_EXPORT int jack_get_property(jack_uuid_t, const char*, char**, char**)
{
return -1;
}

LIB_EXPORT void jack_free_description(jack_description_t*, int)
{
}

LIB_EXPORT int jack_get_properties(jack_uuid_t, jack_description_t*)
{
return -1;
}

LIB_EXPORT int jack_get_all_properties(jack_description_t**)
{
return -1;
}

LIB_EXPORT int jack_remove_property(jack_client_t*, jack_uuid_t, const char*)
{
return -1;
}

LIB_EXPORT int jack_remove_properties(jack_client_t*, jack_uuid_t)
{
return -1;
}

LIB_EXPORT int jack_remove_all_properties(jack_client_t*)
{
return -1;
}

LIB_EXPORT int jack_set_property_change_callback(jack_client_t*, JackPropertyChangeCallback, void*)
{
return -1;
}

LIB_EXPORT jack_uuid_t jack_client_uuid_generate()
{
return 0;
}

LIB_EXPORT jack_uuid_t jack_port_uuid_generate(uint32_t)
{
return 0;
}

LIB_EXPORT uint32_t jack_uuid_to_index(jack_uuid_t)
{
return 0;
}

LIB_EXPORT int jack_uuid_compare(jack_uuid_t, jack_uuid_t)
{
return 0;
}

LIB_EXPORT void jack_uuid_copy(jack_uuid_t*, jack_uuid_t)
{
}

LIB_EXPORT void jack_uuid_clear(jack_uuid_t*)
{
}

LIB_EXPORT int jack_uuid_parse(const char*, jack_uuid_t*)
{
return 0;
}

LIB_EXPORT void jack_uuid_unparse(jack_uuid_t, char buf[JACK_UUID_STRING_SIZE])
{
}

LIB_EXPORT int jack_uuid_empty(jack_uuid_t)
{
return 0;
}

+ 1
- 1
common/JackConstants.h View File

@@ -34,7 +34,7 @@
#define JACK_SERVER_NAME_SIZE 256
#define JACK_CLIENT_NAME_SIZE 64
#define JACK_MESSAGE_SIZE 256
#define JACK_UUID_SIZE 32
#define JACK_UUID_SIZE 36 // to match jack1 and uuid.h
#define JACK_SESSION_COMMAND_SIZE 256

#define SYNC_MAX_NAME_SIZE 256


+ 63
- 0
common/JackMetadata.h View File

@@ -0,0 +1,63 @@
/*
Copyright (C) 2011 David Robillard
Copyright (C) 2013 Paul Davis

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or (at
your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/

#ifndef __jack_metadata_int_h__
#define __jack_metadata_int_h__

#include <stdint.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef struct {
const char* key;
const char* data;
const char* type;
} jack_property_t;

typedef struct {
jack_uuid_t subject;
uint32_t property_cnt;
jack_property_t* properties;
uint32_t property_size;
} jack_description_t;

typedef enum {
PropertyCreated,
PropertyChanged,
PropertyDeleted
} jack_property_change_t;

typedef void (*JackPropertyChangeCallback)(jack_uuid_t subject,
const char* key,
jack_property_change_t change,
void* arg);

extern const char* JACK_METADATA_PRETTY_NAME;
extern const char* JACK_METADATA_HARDWARE;
extern const char* JACK_METADATA_CONNECTED;
extern const char* JACK_METADATA_PORT_GROUP;
extern const char* JACK_METADATA_ICON_SMALL;
extern const char* JACK_METADATA_ICON_LARGE;

#ifdef __cplusplus
}
#endif
#endif

Loading…
Cancel
Save