| 374 | { |
| 375 | public: |
| 376 | ExtProcedureNode(MemoryPool& pool, MessageNode* aExtInMessageNode, MessageNode* aExtOutMessageNode, |
| 377 | MessageNode* aIntOutMessageNode, const ExtEngineManager::Procedure* aProcedure) |
| 378 | : CompoundStmtNode(pool), |
| 379 | extInMessageNode(aExtInMessageNode), |
| 380 | extOutMessageNode(aExtOutMessageNode), |
| 381 | intOutMessageNode(aIntOutMessageNode), |
| 382 | procedure(aProcedure) |
| 383 | { |
| 384 | SuspendNode* suspend = FB_NEW_POOL(pool) SuspendNode(pool); |
| 385 | suspend->message = intOutMessageNode; |
| 386 | suspend->statement = FB_NEW_POOL(pool) MessageMoverNode(pool, |
| 387 | extOutMessageNode, intOutMessageNode, intOutMessageNode); |
| 388 | |
| 389 | statements.add(suspend); |
| 390 | statements.add(FB_NEW_POOL(pool) StallNode(pool)); |
| 391 | } |
| 392 | |
| 393 | virtual const StmtNode* execute(thread_db* tdbb, Request* request, ExeState* exeState) const |
| 394 | { |
nothing calls this directly
no test coverage detected