Use generic function to handle events

This commit is contained in:
Cheng Zhao 2015-12-12 13:49:58 +08:00
parent f976e1eda3
commit 9438d42322
3 changed files with 58 additions and 92 deletions

View file

@ -89,6 +89,17 @@ class AtomNetworkDelegate : public brightray::NetworkDelegate {
void OnErrorOccurred(net::URLRequest* request);
private:
template<typename...Args>
void HandleSimpleEvent(SimpleEvent type,
net::URLRequest* request,
Args... args);
template<typename Out, typename... Args>
int HandleResponseEvent(ResponseEvent type,
net::URLRequest* request,
const net::CompletionCallback& callback,
Out out,
Args... args);
std::map<SimpleEvent, SimpleListenerInfo> simple_listeners_;
std::map<ResponseEvent, ResponseListenerInfo> response_listeners_;;