| 80 | class TestWorkerWithRecv : public AsyncProgressQueueWorker<ProgressData> { |
| 81 | public: |
| 82 | static void DoWork(const CallbackInfo& info) { |
| 83 | switch (info.Length()) { |
| 84 | case 2: { |
| 85 | Object recv = info[0].As<Object>(); |
| 86 | Function cb = info[1].As<Function>(); |
| 87 | TestWorkerWithRecv* worker = new TestWorkerWithRecv(recv, cb); |
| 88 | worker->Queue(); |
| 89 | } break; |
| 90 | |
| 91 | case 3: { |
| 92 | Object recv = info[0].As<Object>(); |
| 93 | Function cb = info[1].As<Function>(); |
| 94 | std::string resName = info[2].As<String>(); |
| 95 | TestWorkerWithRecv* worker = |
| 96 | new TestWorkerWithRecv(recv, cb, resName.c_str()); |
| 97 | worker->Queue(); |
| 98 | } break; |
| 99 | |
| 100 | case 4: { |
| 101 | Object recv = info[0].As<Object>(); |
| 102 | Function cb = info[1].As<Function>(); |
| 103 | std::string resName = info[2].As<String>(); |
| 104 | Object resObject = info[3].As<Object>(); |
| 105 | TestWorkerWithRecv* worker = |
| 106 | new TestWorkerWithRecv(recv, cb, resName.c_str(), resObject); |
| 107 | worker->Queue(); |
| 108 | } break; |
| 109 | |
| 110 | default: |
| 111 | |
| 112 | break; |
| 113 | } |
| 114 | } |
| 115 | |
| 116 | protected: |
| 117 | void Execute(const ExecutionProgress&) override {} |