comparison vamp-hostsdk/RequestResponse.h @ 462:6ac615fd02a3

Merge from branch vampipe
author Chris Cannam
date Mon, 10 Oct 2016 15:51:33 +0100
parents 85dadd0d482f
children
comparison
equal deleted inserted replaced
460:b409560a805b 462:6ac615fd02a3
52 class Plugin; 52 class Plugin;
53 53
54 namespace HostExt { 54 namespace HostExt {
55 55
56 /** 56 /**
57 * \class ListResponse RequestResponse.h <vamp-hostsdk/RequestResponse.h>
58 *
59 * Vamp::HostExt::ListResponse is a structure containing the
60 * information returned by PluginLoader when asked to list static
61 * information about the available plugins.
62 *
63 * \see PluginLoader::listPluginData, PluginStaticData
64 *
65 * \note This class was introduced in version 2.7 of the Vamp plugin
66 * SDK, along with the PluginLoader method that returns this structure.
67 */
68 struct ListResponse
69 {
70 ListResponse() { } // empty by default
71
72 std::vector<PluginStaticData> available;
73 };
74
75 /**
57 * \class LoadRequest RequestResponse.h <vamp-hostsdk/RequestResponse.h> 76 * \class LoadRequest RequestResponse.h <vamp-hostsdk/RequestResponse.h>
58 * 77 *
59 * Vamp::HostExt::LoadRequest is a structure containing the 78 * Vamp::HostExt::LoadRequest is a structure containing the
60 * information necessary to load a plugin. When a request is made to 79 * information necessary to load a plugin. When a request is made to
61 * load a plugin using a LoadRequest, the response is typically 80 * load a plugin using a LoadRequest, the response is typically
184 * SDK, along with the PluginLoader method that returns this structure. 203 * SDK, along with the PluginLoader method that returns this structure.
185 */ 204 */
186 struct ConfigurationResponse 205 struct ConfigurationResponse
187 { 206 {
188 public: 207 public:
189 ConfigurationResponse() // failed by default 208 ConfigurationResponse() : // failed by default
190 { } 209 plugin(0) { }
191 210
211 Plugin *plugin;
192 Plugin::OutputList outputs; 212 Plugin::OutputList outputs;
193 }; 213 };
194 214
195 /** 215 /**
196 * \class ProcessRequest RequestResponse.h <vamp-hostsdk/RequestResponse.h> 216 * \class ProcessRequest RequestResponse.h <vamp-hostsdk/RequestResponse.h>
221 /** 241 /**
222 * \class ProcessResponse RequestResponse.h <vamp-hostsdk/RequestResponse.h> 242 * \class ProcessResponse RequestResponse.h <vamp-hostsdk/RequestResponse.h>
223 * 243 *
224 * A structure that bundles the data returned by a process call and by 244 * A structure that bundles the data returned by a process call and by
225 * Plugin::getRemainingFeatures(). This is simply a FeatureSet 245 * Plugin::getRemainingFeatures(). This is simply a FeatureSet
226 * wrapper, named for symmetry with the other request-response pairs. 246 * wrapper that happens to reference the plugin as well.
227 * 247 *
228 * \see Plugin::process(), Plugin::getRemainingFeatures() 248 * \see Plugin::process(), Plugin::getRemainingFeatures()
229 * 249 *
230 * \note This class was introduced in version 2.7 of the Vamp plugin 250 * \note This class was introduced in version 2.7 of the Vamp plugin
231 * SDK, but it is not currently used by the SDK. It is supplied as a 251 * SDK, but it is not currently used by the SDK. It is supplied as a
233 * and configuration request structs. 253 * and configuration request structs.
234 */ 254 */
235 struct ProcessResponse 255 struct ProcessResponse
236 { 256 {
237 public: 257 public:
238 ProcessResponse() // empty by default 258 ProcessResponse() : // invalid by default
239 { } 259 plugin(0) { }
240 260
261 Plugin *plugin;
241 Plugin::FeatureSet features; 262 Plugin::FeatureSet features;
242 }; 263 };
243 264
265 /**
266 * \class FinishRequest RequestResponse.h <vamp-hostsdk/RequestResponse.h>
267 *
268 * A structure that bundles the necessary data for finishing
269 * processing, i.e. calling getRemainingFeatures(). This consists only
270 * of the plugin pointer. Caller retains ownership of the plugin.
271 *
272 * \see Plugin::getRemainingFeatures()
273 *
274 * \note This class was introduced in version 2.7 of the Vamp plugin
275 * SDK, but it is not currently used by the SDK. It is supplied as a
276 * convenience for code using the SDK, and for symmetry with the load
277 * and configuration request structs.
278 *
279 * \note The response to a finish request (getRemainingFeatures()) is
280 * a ProcessResponse, just as it is for a process request.
281 */
282 struct FinishRequest
283 {
284 public:
285 FinishRequest() : // invalid by default
286 plugin(0) { }
287
288 Plugin *plugin;
289 };
290
244 } 291 }
245 292
246 } 293 }
247 294
248 _VAMP_SDK_HOSTSPACE_END(RequestResponse.h) 295 _VAMP_SDK_HOSTSPACE_END(RequestResponse.h)