| // Copyright 2014 The Android Open Source Project |
| // |
| // This software is licensed under the terms of the GNU General Public |
| // License version 2, as published by the Free Software Foundation, and |
| // may be copied, distributed, and modified under those terms. |
| // |
| // This program is distributed in the hope that it will be useful, |
| // but WITHOUT ANY WARRANTY; without even the implied warranty of |
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| // GNU General Public License for more details. |
| |
| #ifndef ANDROID_KERNEL_KERNEL_UTILS_TESTING_H |
| #define ANDROID_KERNEL_KERNEL_UTILS_TESTING_H |
| |
| namespace android { |
| |
| namespace base { |
| class String; |
| } // namespace base |
| |
| namespace kernel { |
| |
| // Type of a function used to retrieve the textual description of a given |
| // file at |filePath|. On success, return true and sets |*text| to the |
| // description text, as if running through the 'file' command on Unix. |
| // |opaque| is a client-provided value set by calling |
| // setFileDescriptionFunction() below. |
| typedef bool (GetFileDescriptionFunction)(void* opaque, |
| const char* filePath, |
| android::base::String* text); |
| |
| // Change the implementation of the function that extracts textual |
| // descriptions from a given file. |file_func| is a pointer to the |
| // new function, and |file_opaque| is the value that will be passed |
| // as its first parameter. Note that if |file_func| is NULL, the |
| // default implementation will be selected instead. |
| // |
| // Only use this during unit-testing to force different description |
| // values on arbitrary file content. |
| void setFileDescriptionFunction(GetFileDescriptionFunction* file_func, |
| void* file_opaque); |
| |
| } // namespace kernel |
| |
| } // namespace android |
| |
| #endif // ANDROID_KERNEL_KERNEL_UTILS_TESTING_H |