Viet-Trung Luu | 451ed41 | 2015-03-09 11:11:11 -0700 | [diff] [blame] | 1 | // Copyright 2015 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 | // Shared implementation of things common between |DirectoryImpl| and |
| 6 | // |FileImpl|. |
| 7 | |
| 8 | #ifndef SERVICES_FILES_SHARED_IMPL_H_ |
| 9 | #define SERVICES_FILES_SHARED_IMPL_H_ |
| 10 | |
| 11 | #include "mojo/public/cpp/bindings/callback.h" |
Viet-Trung Luu | 08e339a | 2015-10-10 01:03:09 -0700 | [diff] [blame] | 12 | #include "mojo/services/files/interfaces/types.mojom.h" |
Viet-Trung Luu | 451ed41 | 2015-03-09 11:11:11 -0700 | [diff] [blame] | 13 | |
| 14 | namespace mojo { |
| 15 | namespace files { |
| 16 | |
| 17 | // Stats the given FD (which must be valid), calling |callback| appropriately. |
Viet-Trung Luu | 20728c7 | 2015-03-13 12:49:06 -0700 | [diff] [blame] | 18 | // The type in the |FileInformation| given to the callback will be assigned from |
| 19 | // |type|. |
Viet-Trung Luu | 0580624 | 2015-04-03 10:17:37 -0700 | [diff] [blame] | 20 | using StatFDCallback = Callback<void(Error, FileInformationPtr)>; |
| 21 | void StatFD(int fd, FileType type, const StatFDCallback& callback); |
Viet-Trung Luu | 451ed41 | 2015-03-09 11:11:11 -0700 | [diff] [blame] | 22 | |
| 23 | // Touches the given FD (which must be valid), calling |callback| appropriately. |
Viet-Trung Luu | 0580624 | 2015-04-03 10:17:37 -0700 | [diff] [blame] | 24 | using TouchFDCallback = Callback<void(Error)>; |
Viet-Trung Luu | 451ed41 | 2015-03-09 11:11:11 -0700 | [diff] [blame] | 25 | void TouchFD(int fd, |
| 26 | TimespecOrNowPtr atime, |
| 27 | TimespecOrNowPtr mtime, |
Viet-Trung Luu | 0580624 | 2015-04-03 10:17:37 -0700 | [diff] [blame] | 28 | const TouchFDCallback& callback); |
Viet-Trung Luu | 451ed41 | 2015-03-09 11:11:11 -0700 | [diff] [blame] | 29 | |
| 30 | } // namespace files |
| 31 | } // namespace mojo |
| 32 | |
| 33 | #endif // SERVICES_FILES_SHARED_IMPL_H_ |