1 // 2 // Copyright (C) 2021 The Android Open Source Project 3 // 4 // Licensed under the Apache License, Version 2.0 (the "License"); 5 // you may not use this file except in compliance with the License. 6 // You may obtain a copy of the License at 7 // 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 // 16 17 //! This module implements safe wrappers for GetProperty and SetProperty from libbase. 18 19 pub use ffi::{GetProperty, SetProperty}; 20 21 /// Safe wrappers for the GetProperty and SetProperty methods from libbase. 22 #[cxx::bridge] 23 mod ffi { 24 unsafe extern "C++" { 25 include!("properties.hpp"); 26 27 /// Returns the current value of the system property `key`, 28 /// or `default_value` if the property is empty or doesn't exist. GetProperty(key: &str, default_value: &str) -> String29 fn GetProperty(key: &str, default_value: &str) -> String; 30 31 /// Sets the system property `key` to `value`. SetProperty(key: &str, value: &str)32 fn SetProperty(key: &str, value: &str); 33 } 34 } 35