4 * Copyright (c) 2000 - 2014 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.
24 #include <system_info.h>
26 #include <device_info.h>
30 #define LOG_TAG "LIBCRYPTSVC"
33 #define TIZENID_STRING "http://tizen.org/system/tizenid"
35 char *_device_id = NULL;
36 int _is_loaded = false;
37 pthread_once_t _load_once_block = PTHREAD_ONCE_INIT;
39 void load_device_id(void)
42 && system_info_get_platform_string(TIZENID_STRING,
43 &_device_id) != SYSTEM_INFO_ERROR_NONE) {
44 SECURE_LOGE("Failed to generate DUID.");
52 __attribute__((visibility("default")))
53 const char *get_device_id(void)
56 pthread_once(&_load_once_block, load_device_id);
60 || !strlen(_device_id)) {
61 LOGE("failed to get device id");
62 _load_once_block = PTHREAD_ONCE_INIT;