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/values.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
00200 SLV2Values
00201 slv2_plugin_get_value_for_subject(SLV2Plugin p,
00202 SLV2Value subject_uri,
00203 SLV2Value predicate_uri);
00204
00205
00213 bool
00214 slv2_plugin_has_feature(SLV2Plugin p,
00215 SLV2Value feature_uri);
00216
00217
00230 SLV2Values
00231 slv2_plugin_get_supported_features(SLV2Plugin p);
00232
00233
00247 SLV2Values
00248 slv2_plugin_get_required_features(SLV2Plugin p);
00249
00250
00261 SLV2Values
00262 slv2_plugin_get_optional_features(SLV2Plugin p);
00263
00264
00269 uint32_t
00270 slv2_plugin_get_num_ports(SLV2Plugin p);
00271
00272
00281 uint32_t
00282 slv2_plugin_get_num_ports_of_class(SLV2Plugin p,
00283 SLV2Value class_1, ...);
00284
00292 bool
00293 slv2_plugin_has_latency(SLV2Plugin p);
00294
00295
00307 uint32_t
00308 slv2_plugin_get_latency_port_index(SLV2Plugin p);
00309
00310
00321 SLV2Values
00322 slv2_plugin_query_variable(SLV2Plugin plugin,
00323 const char* sparql_str,
00324 unsigned variable);
00325
00326
00337 unsigned
00338 slv2_plugin_query_count(SLV2Plugin plugin,
00339 const char* sparql_str);
00340
00341
00349 SLV2Port
00350 slv2_plugin_get_port_by_index(SLV2Plugin plugin,
00351 uint32_t index);
00352
00353
00363 SLV2Port
00364 slv2_plugin_get_port_by_symbol(SLV2Plugin plugin,
00365 SLV2Value symbol);
00366
00367
00380 SLV2UIs
00381 slv2_plugin_get_uis(SLV2Plugin plugin);
00382
00383
00391 SLV2Value
00392 slv2_plugin_get_author_name(SLV2Plugin plugin);
00393
00394
00402 SLV2Value
00403 slv2_plugin_get_author_email(SLV2Plugin plugin);
00404
00405
00413 SLV2Value
00414 slv2_plugin_get_author_homepage(SLV2Plugin plugin);
00415
00416
00419 #ifdef __cplusplus
00420 }
00421 #endif
00422
00423 #endif
00424