2 * Samsung Ukraine R&D Center (SRK under a contract between)
3 * LLC "Samsung Electronics Co", Ltd (Seoul, Republic of Korea)
4 * Copyright (C) 2018 Samsung Electronics Co., Ltd. All rights reserved.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License
25 static SysI* impl = nullptr;
28 SysI* SysI::instance()
30 if (impl == nullptr) {
31 throw std::runtime_error("Instance of SysI stub not created.");
38 if (impl != nullptr) {
39 throw std::runtime_error("Only one instance of LibAuditI stub implementation is allowed at a time.");
48 int __attribute__ ((visibility ("protected"))) uname(struct utsname* buf)
50 return SysI::instance()->uname(buf);
53 int __attribute__ ((visibility ("protected"))) kill(pid_t pid, int sig)
55 return SysI::instance()->kill(pid, sig);
58 int system_info_get_platform_string(const char* key, char** value)
60 return SysI::instance()->system_info_get_platform_string(key, value);
62 int system_info_get_value_string(system_info_key_e key, char** value)
64 return SysI::instance()->system_info_get_value_string(key, value);