# Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

# This file contains some C++ sources for the dart:io library.  The other
# implementation files are in builtin_impl_sources.gypi.
io_impl_sources = [
  "console.h",
  "console_posix.cc",
  "console_win.cc",
  "eventhandler.cc",
  "eventhandler.h",
  "eventhandler_android.cc",
  "eventhandler_android.h",
  "eventhandler_fuchsia.cc",
  "eventhandler_fuchsia.h",
  "eventhandler_linux.cc",
  "eventhandler_linux.h",
  "eventhandler_macos.cc",
  "eventhandler_macos.h",
  "eventhandler_win.cc",
  "eventhandler_win.h",
  "file_system_watcher.cc",
  "file_system_watcher.h",
  "file_system_watcher_android.cc",
  "file_system_watcher_fuchsia.cc",
  "file_system_watcher_linux.cc",
  "file_system_watcher_macos.cc",
  "file_system_watcher_win.cc",
  "filter.cc",
  "filter.h",
  "io_service.cc",
  "io_service.h",
  "io_service_no_ssl.cc",
  "io_service_no_ssl.h",
  "namespace.cc",
  "namespace.h",
  "namespace_android.cc",
  "namespace_fuchsia.cc",
  "namespace_linux.cc",
  "namespace_macos.cc",
  "namespace_win.cc",
  "platform.cc",
  "platform.h",
  "platform_android.cc",
  "platform_fuchsia.cc",
  "platform_linux.cc",
  "platform_macos.cc",
  "platform_win.cc",
  "process.cc",
  "process.h",
  "process_android.cc",
  "process_fuchsia.cc",
  "process_linux.cc",
  "process_macos.cc",
  "process_win.cc",
  "reference_counting.h",
  "root_certificates_unsupported.cc",
  "secure_socket_filter.cc",
  "secure_socket_filter.h",
  "secure_socket_unsupported.cc",
  "secure_socket_utils.cc",
  "secure_socket_utils.h",
  "security_context.cc",
  "security_context.h",
  "security_context_android.cc",
  "security_context_fuchsia.cc",
  "security_context_linux.cc",
  "security_context_macos.cc",
  "security_context_win.cc",
  "socket.cc",
  "socket.h",
  "socket_android.cc",
  "socket_base.cc",
  "socket_base.h",
  "socket_base_android.cc",
  "socket_base_android.h",
  "socket_base_fuchsia.cc",
  "socket_base_fuchsia.h",
  "socket_base_linux.cc",
  "socket_base_linux.h",
  "socket_base_macos.cc",
  "socket_base_macos.h",
  "socket_base_win.cc",
  "socket_base_win.h",
  "socket_fuchsia.cc",
  "socket_linux.cc",
  "socket_macos.cc",
  "socket_win.cc",
  "stdio.cc",
  "stdio.h",
  "stdio_android.cc",
  "stdio_fuchsia.cc",
  "stdio_linux.cc",
  "stdio_macos.cc",
  "stdio_win.cc",
  "sync_socket.cc",
  "sync_socket.h",
  "sync_socket_android.cc",
  "sync_socket_fuchsia.cc",
  "sync_socket_linux.cc",
  "sync_socket_macos.cc",
  "sync_socket_win.cc",
  "typed_data_utils.h",
  "typed_data_utils.cc",
]
