/*
 * Copyright (C) 2017 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "utils-fake.h"

namespace android {
namespace vintf {
namespace details {
status_t MockRuntimeInfo::doFetch(RuntimeInfo::FetchFlags) {
    if (failNextFetch_) {
        failNextFetch_ = false;
        return android::UNKNOWN_ERROR;
    }
    mOsName = "Linux";
    mNodeName = "localhost";
    mOsRelease = "3.18.31-g936f9a479d0f";
    mKernelVersion = {3, 18, 31};
    mOsVersion = "#4 SMP PREEMPT Wed Feb 1 18:10:52 PST 2017";
    mHardwareId = "aarch64";
    mKernelSepolicyVersion = 30;
    mKernelConfigs = {{"CONFIG_64BIT", "y"},
                      {"CONFIG_ANDROID_BINDER_DEVICES", "\"binder,hwbinder\""},
                      {"CONFIG_ARCH_MMAP_RND_BITS", "24"},
                      {"CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE_NAMES", "\"\""},
                      {"CONFIG_ILLEGAL_POINTER_VALUE", "0xdead000000000000"}};

    return OK;
}

}  // namespace details
}  // namespace vintf
}  // namespace android