1 // Copyright 2018 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef BASE_MESSAGE_LOOP_MESSAGE_PUMP_FOR_IO_H_ 6 #define BASE_MESSAGE_LOOP_MESSAGE_PUMP_FOR_IO_H_ 7 8 // This header is a forwarding header to coalesce the various platform specific 9 // types representing MessagePumpForIO. 10 11 #include "build/build_config.h" 12 13 #if defined(OS_WIN) 14 #include "base/message_loop/message_pump_win.h" 15 #elif defined(OS_IOS) 16 #include "base/message_loop/message_pump_io_ios.h" 17 #elif defined(OS_NACL_SFI) 18 #include "base/message_loop/message_pump_default.h" 19 #elif defined(OS_FUCHSIA) 20 #include "base/message_loop/message_pump_fuchsia.h" 21 #elif defined(OS_POSIX) 22 #include "base/message_loop/message_pump_libevent.h" 23 #endif 24 25 namespace base { 26 27 #if defined(OS_WIN) 28 // Windows defines it as-is. 29 using MessagePumpForIO = MessagePumpForIO; 30 #elif defined(OS_IOS) 31 using MessagePumpForIO = MessagePumpIOSForIO; 32 #elif defined(OS_NACL_SFI) 33 using MessagePumpForIO = MessagePumpDefault; 34 #elif defined(OS_FUCHSIA) 35 using MessagePumpForIO = MessagePumpFuchsia; 36 #elif defined(OS_POSIX) 37 using MessagePumpForIO = MessagePumpLibevent; 38 #else 39 #error Platform does not define MessagePumpForIO 40 #endif 41 42 } // namespace base 43 44 #endif // BASE_MESSAGE_LOOP_MESSAGE_PUMP_FOR_IO_H_ 45