00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __SLV2_PLUGIN_H__
00020 #define __SLV2_PLUGIN_H__
00021
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025
00026 #include <stdint.h>
00027 #include <stdbool.h>
00028 #include "slv2/types.h"
00029 #include "slv2/port.h"
00030 #include "slv2/collections.h"
00031
00059 bool
00060 slv2_plugin_verify(SLV2Plugin plugin);
00061
00062
00079 SLV2Value
00080 slv2_plugin_get_uri(SLV2Plugin plugin);
00081
00082
00098 SLV2Value
00099 slv2_plugin_get_bundle_uri(SLV2Plugin plugin);
00100
00101
00114 SLV2Values
00115 slv2_plugin_get_data_uris(SLV2Plugin plugin);
00116
00117
00127 SLV2Value
00128 slv2_plugin_get_library_uri(SLV2Plugin plugin);
00129
00130
00139 SLV2Value
00140 slv2_plugin_get_name(SLV2Plugin plugin);
00141
00142
00145 SLV2PluginClass
00146 slv2_plugin_get_class(SLV2Plugin plugin);
00147
00148
00165 SLV2Values
00166 slv2_plugin_get_value(SLV2Plugin p,
00167 SLV2Value predicate);
00168
00169
00176 SLV2Values
00177 slv2_plugin_get_value_by_qname(SLV2Plugin p,
00178 const char* predicate);
00179
00180
00188 SLV2Values
00189 slv2_plugin_get_value_by_qname_i18n(SLV2Plugin p,
00190 const char* predicate);
00191
00192
00212 SLV2Values
00213 slv2_plugin_get_value_for_subject(SLV2Plugin p,
00214 SLV2Value subject_uri,
00215 SLV2Value predicate_uri);
00216
00217
00225 bool
00226 slv2_plugin_has_feature(SLV2Plugin p,
00227 SLV2Value feature_uri);
00228
00229
00242 SLV2Values
00243 slv2_plugin_get_supported_features(SLV2Plugin p);
00244
00245
00259 SLV2Values
00260 slv2_plugin_get_required_features(SLV2Plugin p);
00261
00262
00273 SLV2Values
00274 slv2_plugin_get_optional_features(SLV2Plugin p);
00275
00276
00281 uint32_t
00282 slv2_plugin_get_num_ports(SLV2Plugin p);
00283
00284
00299 void
00300 slv2_plugin_get_port_ranges_float(SLV2Plugin p,
00301 float* min_values,
00302 float* max_values,
00303 float* def_values);
00304
00313 uint32_t
00314 slv2_plugin_get_num_ports_of_class(SLV2Plugin p,
00315 SLV2Value class_1, ...);
00316
00324 bool
00325 slv2_plugin_has_latency(SLV2Plugin p);
00326
00327
00339 uint32_t
00340 slv2_plugin_get_latency_port_index(SLV2Plugin p);
00341
00342
00353 SLV2Values
00354 slv2_plugin_query_variable(SLV2Plugin plugin,
00355 const char* sparql_str,
00356 unsigned variable);
00357
00358
00369 unsigned
00370 slv2_plugin_query_count(SLV2Plugin plugin,
00371 const char* sparql_str);
00372
00373
00381 SLV2Port
00382 slv2_plugin_get_port_by_index(SLV2Plugin plugin,
00383 uint32_t index);
00384
00385
00395 SLV2Port
00396 slv2_plugin_get_port_by_symbol(SLV2Plugin plugin,
00397 SLV2Value symbol);
00398
00399
00412 SLV2UIs
00413 slv2_plugin_get_uis(SLV2Plugin plugin);
00414
00415
00423 SLV2Value
00424 slv2_plugin_get_author_name(SLV2Plugin plugin);
00425
00426
00434 SLV2Value
00435 slv2_plugin_get_author_email(SLV2Plugin plugin);
00436
00437
00445 SLV2Value
00446 slv2_plugin_get_author_homepage(SLV2Plugin plugin);
00447
00448
00451 #ifdef __cplusplus
00452 }
00453 #endif
00454
00455 #endif
00456