#ifndef COMPONENTS_CRONET_NATIVE_TEST_TEST_UTIL_H_
#define COMPONENTS_CRONET_NATIVE_TEST_TEST_UTIL_H_
#include "base/functional/callback.h"
#include "cronet_c.h"
namespace cronet {
namespace test {
Cronet_EnginePtr CreateTestEngine(int quic_server_port);
Cronet_ExecutorPtr CreateTestExecutor();
class RunnableWrapper {
public:
~RunnableWrapper() { Cronet_Runnable_Destroy(runnable_); }
static base::OnceClosure CreateOnceClosure(Cronet_RunnablePtr runnable);
private:
friend std::unique_ptr<RunnableWrapper> std::make_unique<RunnableWrapper>(
Cronet_RunnablePtr&);
explicit RunnableWrapper(Cronet_RunnablePtr runnable) : runnable_(runnable) {}
void Run() { Cronet_Runnable_Run(runnable_); }
const Cronet_RunnablePtr runnable_;
};
}
}
#endif