@@ -97,11 +97,6 @@ void aap::RemotePluginInstance::processExtensionReply(const char *uri, int32_t m
97
97
}
98
98
}
99
99
100
- void aap::RemotePluginInstance::processHostExtensionRequest (const char *uri, int32_t messageSize,
101
- int32_t opcode, int32_t requestId) {
102
- assert (false ); // FIXME: implement
103
- }
104
-
105
100
void aap::RemotePluginInstance::prepare (int frameCount) {
106
101
if (instantiation_state != PLUGIN_INSTANTIATION_STATE_UNPREPARED) {
107
102
aap::a_log_f (AAP_LOG_LEVEL_ERROR, LOG_TAG,
@@ -257,28 +252,40 @@ aap::RemoteAAPXSManager::staticProcessExtensionReply(AAPXSClientInstance *client
257
252
thisObj->processExtensionReply (clientInstance->uri , messageSize, opcode, requestId);
258
253
}
259
254
260
- void aap::RemotePluginInstance::sendExtensionRequest (const char * uri, int32_t opcode, void *data, int32_t dataSize) {
261
- int32_t requestId = aapxsRequestIdSerial ();
262
- auto aapxs = getPluginAAPXSInstance (uri);
263
- assert (aapxs != nullptr );
264
- AAPXSRequestContext context{nullptr , nullptr , aapxs->serialization , uri, requestId, opcode};
265
- assert (aapxs->serialization ->data_capacity >= dataSize);
266
- memcpy (aapxs->serialization ->data , data, dataSize);
267
- aapxs->serialization ->data_size = dataSize;
268
- aapxs->send_aapxs_request (aapxs, &context);
255
+ // ---- AAPXS v2
256
+
257
+ // initialization
258
+ void aap::RemotePluginInstance::setupAAPXSClientInstances (aap::AAPXSClientFeatureRegistry *registry,
259
+ aap::AAPXSClientInstanceManagerVNext *clientInstances,
260
+ AAPXSSerializationContext *serialization) {
261
+ std::for_each (registry->begin (), registry->end (), [&](AAPXSFeatureVNext* f) {
262
+ // plugin extensions
263
+ clientInstances->addInitiator (populateAAPXSInitiatorInstance (serialization), f->uri );
264
+ // host extensions
265
+ clientInstances->addRecipient (populateAAPXSRecipientInstance (serialization), f->uri );
266
+ });
269
267
}
270
268
271
- void aap::RemotePluginInstance::sendHostExtensionReply (const char *uri, int32_t opcode, void *data,
272
- int32_t dataSize, int32_t requestId) {
273
- auto aapxs = getHostAAPXSInstance (uri);
274
- assert (aapxs != nullptr );
275
- AAPXSRequestContext context{nullptr , nullptr , aapxs->serialization , uri, requestId, opcode};
276
- assert (aapxs->serialization ->data_capacity >= dataSize);
277
- memcpy (aapxs->serialization ->data , data, dataSize);
278
- aapxs->serialization ->data_size = dataSize;
279
- aapxs->send_aapxs_reply (aapxs, &context);
269
+ AAPXSInitiatorInstance aap::RemotePluginInstance::populateAAPXSInitiatorInstance (AAPXSSerializationContext* serialization) {
270
+ AAPXSInitiatorInstance instance{this ,
271
+ serialization,
272
+ staticGetNewRequestId,
273
+ staticSendAAPXSRequest,
274
+ staticProcessIncomingAAPXSReply};
275
+ return instance;
280
276
}
281
277
278
+ AAPXSRecipientInstance aap::RemotePluginInstance::populateAAPXSRecipientInstance (
279
+ AAPXSSerializationContext *serialization) {
280
+ AAPXSRecipientInstance instance{this ,
281
+ serialization,
282
+ staticGetNewRequestId,
283
+ staticProcessIncomingAAPXSRequest,
284
+ staticSendAAPXSReply};
285
+ return instance;
286
+ }
287
+
288
+ // get by Uri/Urid
282
289
AAPXSInitiatorInstance* aap::RemotePluginInstance::getPluginAAPXSInstance (const char *uri) {
283
290
return &instance_manager.getPluginAAPXSByUri (uri);
284
291
}
@@ -295,32 +302,39 @@ AAPXSRecipientInstance *aap::RemotePluginInstance::getHostAAPXSInstance(int32_t
295
302
return &instance_manager.getHostAAPXSByUrid (urid);
296
303
}
297
304
298
- AAPXSInitiatorInstance aap::RemotePluginInstance::populateAAPXSInitiatorInstance (AAPXSSerializationContext* serialization) {
299
- AAPXSInitiatorInstance instance{this ,
300
- serialization,
301
- staticGetNewRequestId,
302
- staticSendAAPXSRequest,
303
- staticProcessIncomingAAPXSReply};
304
- return instance;
305
+ // send/receive
306
+ void aap::RemotePluginInstance::sendExtensionRequest (const char * uri, int32_t opcode, void *data, int32_t dataSize) {
307
+ int32_t requestId = aapxsRequestIdSerial ();
308
+ auto aapxs = getPluginAAPXSInstance (uri);
309
+ assert (aapxs != nullptr );
310
+ AAPXSRequestContext context{nullptr , nullptr , aapxs->serialization , uri, requestId, opcode};
311
+ assert (aapxs->serialization ->data_capacity >= dataSize);
312
+ memcpy (aapxs->serialization ->data , data, dataSize);
313
+ aapxs->serialization ->data_size = dataSize;
314
+ aapxs->send_aapxs_request (aapxs, &context);
305
315
}
306
316
307
- AAPXSRecipientInstance aap::RemotePluginInstance::populateAAPXSRecipientInstance (
308
- AAPXSSerializationContext *serialization) {
309
- AAPXSRecipientInstance instance{this ,
310
- serialization,
311
- staticGetNewRequestId,
312
- staticProcessIncomingAAPXSRequest,
313
- staticSendAAPXSReply};
314
- return instance;
317
+ void aap::RemotePluginInstance::processExtensionReply (const char *uri, int32_t opcode, void * data, int32_t dataSize, int32_t requestId) {
318
+ auto aapxs = getPluginAAPXSInstance (uri);
319
+ assert (aapxs != nullptr );
320
+ AAPXSRequestContext context{nullptr , nullptr , aapxs->serialization , uri, requestId, opcode};
321
+ aapxs->process_incoming_aapxs_reply (aapxs, &context);
315
322
}
316
323
317
- void
318
- aap::RemotePluginInstance::setupAAPXSClientInstances (aap::AAPXSClientFeatureRegistry *registry, aap::AAPXSClientInstanceManagerVNext *clientInstances,
319
- AAPXSSerializationContext *serialization) {
320
- std::for_each (registry->begin (), registry->end (), [&](AAPXSFeatureVNext* f) {
321
- // plugin extensions
322
- clientInstances->addInitiator (populateAAPXSInitiatorInstance (serialization), f->uri );
323
- // host extensions
324
- clientInstances->addRecipient (populateAAPXSRecipientInstance (serialization), f->uri );
325
- });
324
+ void aap::RemotePluginInstance::processHostExtensionRequest (const char *uri, int32_t opcode, void * data, int32_t dataSize, int32_t requestId) {
325
+ auto aapxs = getHostAAPXSInstance (uri);
326
+ assert (aapxs != nullptr );
327
+ AAPXSRequestContext context{nullptr , nullptr , aapxs->serialization , uri, requestId, opcode};
328
+ aapxs->process_incoming_aapxs_request (aapxs, &context);
329
+ }
330
+
331
+ void aap::RemotePluginInstance::sendHostExtensionReply (const char *uri, int32_t opcode, void *data,
332
+ int32_t dataSize, int32_t requestId) {
333
+ auto aapxs = getHostAAPXSInstance (uri);
334
+ assert (aapxs != nullptr );
335
+ AAPXSRequestContext context{nullptr , nullptr , aapxs->serialization , uri, requestId, opcode};
336
+ assert (aapxs->serialization ->data_capacity >= dataSize);
337
+ memcpy (aapxs->serialization ->data , data, dataSize);
338
+ aapxs->serialization ->data_size = dataSize;
339
+ aapxs->send_aapxs_reply (aapxs, &context);
326
340
}
0 commit comments