/* * 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.h" #ifdef LIBVINTF_TARGET #include <android-base/properties.h> #endif namespace android { namespace vintf { namespace details { static FileFetcher fetcher; FileFetcher* gFetcher = &fetcher; static PartitionMounter partitionMounter; PartitionMounter* gPartitionMounter = &partitionMounter; static ObjectFactory<RuntimeInfo> runtimeInfoFactory; ObjectFactory<RuntimeInfo>* gRuntimeInfoFactory = &runtimeInfoFactory; #ifdef LIBVINTF_TARGET class DevicePropertyFetcher : public PropertyFetcher { public: std::string getProperty(const std::string& key, const std::string& defaultValue) const override { return android::base::GetProperty(key, defaultValue); } uint64_t getUintProperty(const std::string& key, uint64_t defaultValue, uint64_t max) const override { return android::base::GetUintProperty(key, defaultValue, max); } bool getBoolProperty(const std::string& key, bool defaultValue) const override { return android::base::GetBoolProperty(key, defaultValue); } }; const PropertyFetcher& getPropertyFetcher() { static DevicePropertyFetcher fetcher; return fetcher; } #else const PropertyFetcher& getPropertyFetcher() { static PropertyFetcher fetcher; return fetcher; } #endif } // namespace details } // namespace vintf } // namespace android