Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(145)

Side by Side Diff: sdk/lib/io/file_system_entity.dart

Issue 48613002: Add 'isDir' to FileSystemEvent. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: More cleanup. Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of dart.io; 5 part of dart.io;
6 6
7 class FileSystemEntityType { 7 class FileSystemEntityType {
8 static const FILE = const FileSystemEntityType._internal(0); 8 static const FILE = const FileSystemEntityType._internal(0);
9 static const DIRECTORY = const FileSystemEntityType._internal(1); 9 static const DIRECTORY = const FileSystemEntityType._internal(1);
10 static const LINK = const FileSystemEntityType._internal(2); 10 static const LINK = const FileSystemEntityType._internal(2);
(...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 static const int MOVE = 1 << 3; 651 static const int MOVE = 1 << 3;
652 652
653 /** 653 /**
654 * Bitfield for [FileSystemEntity.watch], for enabling all of [CREATE], 654 * Bitfield for [FileSystemEntity.watch], for enabling all of [CREATE],
655 * [MODIFY], [DELETE] and [MOVE]. 655 * [MODIFY], [DELETE] and [MOVE].
656 */ 656 */
657 static const int ALL = CREATE | MODIFY | DELETE | MOVE; 657 static const int ALL = CREATE | MODIFY | DELETE | MOVE;
658 658
659 static const int _MODIFY_ATTRIBUTES = 1 << 4; 659 static const int _MODIFY_ATTRIBUTES = 1 << 4;
660 static const int _DELETE_SELF = 1 << 5; 660 static const int _DELETE_SELF = 1 << 5;
661 static const int _IS_DIR = 1 << 6;
661 662
662 /** 663 /**
663 * The type of event. See [FileSystemEvent] for a list of events. 664 * The type of event. See [FileSystemEvent] for a list of events.
664 */ 665 */
665 final int type; 666 final int type;
666 667
667 /** 668 /**
668 * The path that triggered the event. Depending on the platform and the 669 * The path that triggered the event. Depending on the platform and the
669 * FileSystemEntity, the path may be relative. 670 * FileSystemEntity, the path may be relative.
670 */ 671 */
671 final String path; 672 final String path;
672 673
673 FileSystemEvent._(this.type, this.path); 674 /**
675 * Is `true` if the event target was a directory.
676 */
677 final bool isDirectory;
678
679 FileSystemEvent._(this.type, this.path, this.isDirectory);
674 } 680 }
675 681
676 682
677 /** 683 /**
678 * File system event for newly created file system objects. 684 * File system event for newly created file system objects.
679 */ 685 */
680 class FileSystemCreateEvent extends FileSystemEvent { 686 class FileSystemCreateEvent extends FileSystemEvent {
681 FileSystemCreateEvent._(path) 687 FileSystemCreateEvent._(path, isDirectory)
682 : super._(FileSystemEvent.CREATE, path); 688 : super._(FileSystemEvent.CREATE, path, isDirectory);
683 689
684 String toString() => "FileSystemCreateEvent('$path')"; 690 String toString() => "FileSystemCreateEvent('$path')";
685 } 691 }
686 692
687 693
688 /** 694 /**
689 * File system event for modifications of file system objects. 695 * File system event for modifications of file system objects.
690 */ 696 */
691 class FileSystemModifyEvent extends FileSystemEvent { 697 class FileSystemModifyEvent extends FileSystemEvent {
692 /** 698 /**
693 * If the content was changed and not only the attributes, [contentChanged] 699 * If the content was changed and not only the attributes, [contentChanged]
694 * is `true`. 700 * is `true`.
695 */ 701 */
696 final bool contentChanged; 702 final bool contentChanged;
697 703
698 FileSystemModifyEvent._(path, this.contentChanged) 704 FileSystemModifyEvent._(path, isDirectory, this.contentChanged)
699 : super._(FileSystemEvent.MODIFY, path); 705 : super._(FileSystemEvent.MODIFY, path, isDirectory);
700 706
701 String toString() => 707 String toString() =>
702 "FileSystemModifyEvent('$path', contentChanged=$contentChanged)"; 708 "FileSystemModifyEvent('$path', contentChanged=$contentChanged)";
703 } 709 }
704 710
705 711
706 /** 712 /**
707 * File system event for deletion of file system objects. 713 * File system event for deletion of file system objects.
708 */ 714 */
709 class FileSystemDeleteEvent extends FileSystemEvent { 715 class FileSystemDeleteEvent extends FileSystemEvent {
710 FileSystemDeleteEvent._(path) 716 FileSystemDeleteEvent._(path, isDirectory)
711 : super._(FileSystemEvent.DELETE, path); 717 : super._(FileSystemEvent.DELETE, path, isDirectory);
712 718
713 String toString() => "FileSystemDeleteEvent('$path')"; 719 String toString() => "FileSystemDeleteEvent('$path')";
714 } 720 }
715 721
716 722
717 /** 723 /**
718 * File system event for moving of file system objects. 724 * File system event for moving of file system objects.
719 */ 725 */
720 class FileSystemMoveEvent extends FileSystemEvent { 726 class FileSystemMoveEvent extends FileSystemEvent {
721 /** 727 /**
722 * If the underlaying implementation is able to identify the destination of 728 * If the underlaying implementation is able to identify the destination of
723 * the moved file, [destination] will be set. Otherwise, it will be `null`. 729 * the moved file, [destination] will be set. Otherwise, it will be `null`.
724 */ 730 */
725 final String destination; 731 final String destination;
726 732
727 FileSystemMoveEvent._(path, this.destination) 733 FileSystemMoveEvent._(path, isDirectory, this.destination)
728 : super._(FileSystemEvent.MOVE, path); 734 : super._(FileSystemEvent.MOVE, path, isDirectory);
729 735
730 String toString() { 736 String toString() {
731 var buffer = new StringBuffer(); 737 var buffer = new StringBuffer();
732 buffer.write("FileSystemMoveEvent('$path'"); 738 buffer.write("FileSystemMoveEvent('$path'");
733 if (destination != null) buffer.write(", '$destination'"); 739 if (destination != null) buffer.write(", '$destination'");
734 buffer.write(')'); 740 buffer.write(')');
735 return buffer.toString(); 741 return buffer.toString();
736 } 742 }
737 } 743 }
738 744
739 745
740 abstract class _FileSystemWatcher { 746 abstract class _FileSystemWatcher {
741 external factory _FileSystemWatcher(String path, int events, bool recursive); 747 external factory _FileSystemWatcher(String path, int events, bool recursive);
742 external static bool get isSupported; 748 external static bool get isSupported;
743 749
744 Stream<FileSystemEvent> get stream; 750 Stream<FileSystemEvent> get stream;
745 } 751 }
OLDNEW
« no previous file with comments | « runtime/bin/file_system_watcher_macos.cc ('k') | tests/standalone/io/file_system_watcher_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698