# 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.gni.
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",
  "ifaddrs-android.cc",
  "ifaddrs-android.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_fuchsia.h",
  "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_macos.h",
  "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.cc",
  "typed_data_utils.h",
]

io_impl_tests = [ "secure_socket_utils_test.cc" ]
