# 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.
{
  'sources': [
    '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_unsupported.cc',
    '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_unsupported.cc',
    'file_system_watcher_win.cc',
    'filter.cc',
    'filter.h',
    'filter_unsupported.cc',
    'io_service.cc',
    'io_service.h',
    'io_service_no_ssl.cc',
    'io_service_no_ssl.h',
    'io_service_unsupported.cc',
    'platform.cc',
    'platform.h',
    'platform_android.cc',
    'platform_fuchsia.cc',
    'platform_linux.cc',
    'platform_macos.cc',
    'platform_unsupported.cc',
    'platform_win.cc',
    'process.cc',
    'process.h',
    'process_android.cc',
    'process_fuchsia.cc',
    'process_linux.cc',
    'process_macos.cc',
    'process_unsupported.cc',
    'process_win.cc',
    'reference_counting.h',
    'root_certificates_unsupported.cc',
    'secure_socket.h',
    'secure_socket_boringssl.cc',
    'secure_socket_boringssl.h',
    'secure_socket_ios.cc',
    'secure_socket_ios.h',
    'secure_socket_macos.cc',
    'secure_socket_macos.h',
    'secure_socket_unsupported.cc',
    'socket.cc',
    'socket.h',
    'socket_android.cc',
    'socket_android.h',
    'socket_fuchsia.cc',
    'socket_fuchsia.h',
    'socket_linux.cc',
    'socket_linux.h',
    'socket_macos.cc',
    'socket_macos.h',
    'socket_unsupported.cc',
    'socket_win.cc',
    'socket_win.h',
    'stdio.cc',
    'stdio.h',
    'stdio_android.cc',
    'stdio_fuchsia.cc',
    'stdio_linux.cc',
    'stdio_macos.cc',
    'stdio_unsupported.cc',
    'stdio_win.cc',
  ],
}
