update changelog

This commit is contained in:
sunzhen 2024-03-05 09:49:23 +08:00 committed by openkylin-cibot
parent 62a8611c08
commit 8a7b05a437
4 changed files with 754 additions and 4 deletions

9
debian/changelog vendored
View File

@ -1,3 +1,12 @@
libkysdk-system (2.3.0.0-0k5.1) nile; urgency=medium
* BUG:无
* 需求号:无
* 其他改动说明:回退需求#26155提供活跃用户的sdk接口的内容
* 其他改动影响域:无
-- szm-min <shaozhimin@kylinos.cn> Thu, 29 Feb 2024 16:08:12 +0800
libkysdk-system (2.3.0.0-0k5.1) nile; urgency=medium
* BUG:无

View File

@ -9,9 +9,7 @@ libkysysinfo.so.1 libkysdk-sysinfo #MINVER#
_ZN10KDK_SYSTEM21getSystemArchitectureB5cxx11Ev@Base 1.2.1
_ZN10KDK_SYSTEM21getSystemSerialNumberB5cxx11Ev@Base 1.2.1
_ZN10KDK_SYSTEM25getSystemActivationStatusEv@Base 1.2.1
_callback@Base 2.3.0.0
config_fetch@Base 2.2.3.5
dbus_listener_thread@Base 2.3.0.0
die@Base 2.2.3.5
getCurrentVersion@Base 2.0.0.0
getDefaultVersion@Base 2.0.0.0
@ -52,8 +50,6 @@ libkysysinfo.so.1 libkysdk-sysinfo #MINVER#
kdk_system_get_version_detaile@Base 2.0.0.0
kdk_system_get_word@Base 2.2.3.5
kdk_system_is_zyj@Base 1.2.1
kdk_system_register_switch_user_handle@Base 2.3.0.0
kdk_system_unregister_switch_user_handle@Base 2.3.0.0
parseJsonText@Base 2.0.0.0
readJsonFile@Base 2.0.0.0
readReleaseFile@Base 2.0.0.0

View File

@ -0,0 +1,744 @@
From: sunzhen <sunzhen1@kylinos.cn>
Date: Tue, 5 Mar 2024 09:49:23 +0800
Subject: update changelog
---
src/systeminfo/libkysysinfo.c | 499 +++++++++++++++---------------------------
src/systeminfo/libkysysinfo.h | 19 --
2 files changed, 181 insertions(+), 337 deletions(-)
diff --git a/src/systeminfo/libkysysinfo.c b/src/systeminfo/libkysysinfo.c
index 2e3548a..fe1baf6 100644
--- a/src/systeminfo/libkysysinfo.c
+++ b/src/systeminfo/libkysysinfo.c
@@ -41,7 +41,6 @@
#include "pci/pci.h"
#include <locale.h>
#include "sys/sysinfo.h"
-#include <pthread.h>
#define SAFE_FREE(x) if (x) {free(x); x = NULL;}
#define KYLIN_ACTIVATION_DBUS_ADDRESS "org.freedesktop.activation"
@@ -534,15 +533,15 @@ char* kdk_system_get_kernelVersion()
char *kdk_system_get_eUser()
{
char *e_user = NULL;
+ char *active = NULL;
- DBusConnection *connection = NULL;
+ DBusConnection *connection = NULL, *user_conn = NULL;
DBusMessage *message = NULL, *reply = NULL;
- DBusMessageIter iter;
+ DBusError error;
+ DBusMessageIter iter, args;
// 初始化DBus连接
- DBusError error;
dbus_error_init(&error);
-
connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
if (connection == NULL)
{
@@ -571,7 +570,6 @@ char *kdk_system_get_eUser()
// 释放message
dbus_message_unref(message);
- message = NULL;
// 解析回复消息
if (!dbus_message_iter_init(reply, &iter) ||
@@ -581,44 +579,47 @@ char *kdk_system_get_eUser()
fprintf(stderr, "DBus reply parsing failed\n");
goto out;
}
-
// 释放reply
dbus_message_unref(reply);
- reply = NULL;
-
- int element_count = dbus_message_iter_get_element_count(&iter);
- char **users = calloc(element_count + 1, sizeof(char *));
- if (NULL == users)
- goto out;
+ // 获取数组长度 获取的长度不对 弃用
+ // int array_length;
dbus_message_iter_recurse(&iter, &iter);
+ // array_length = dbus_message_iter_get_array_len(&iter);
+ // printf("%d\n", array_length);
- // 解析返回值
- // 循环中过程中调用新的dbus接口会导致迭代器iter被清空但是没细查原因
- // 先用一个字符串数组存储所有用户的object path
- for (int i = 0; i < element_count; i++)
+ // 解析数组中的每个结构体元素
+ while (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_INVALID)
{
- char *path = NULL;
-
DBusMessageIter struct_iter;
- dbus_message_iter_recurse(&iter, &struct_iter);
- dbus_message_iter_next(&struct_iter);
- dbus_message_iter_next(&struct_iter);
- dbus_message_iter_get_basic(&struct_iter, &path);
- users[i] = strdup(path);
+ dbus_uint32_t uid;
+ char *name = NULL, *path = NULL;
+ dbus_message_iter_recurse(&iter, &struct_iter);
- dbus_message_iter_next(&iter);
- }
+ // dbus_message_iter_get_basic(&struct_iter, &path); // 获取uid
- for (int i = 0; i < element_count; i++)
- {
+ dbus_message_iter_next(&struct_iter);
+ // dbus_message_iter_get_basic(&struct_iter, &name); // 获取name
+
+ dbus_message_iter_next(&struct_iter);
+ dbus_message_iter_get_basic(&struct_iter, &path); // 获取interface
+
+ // 获取EUser
char *interface = "org.freedesktop.login1.User";
char *state = "State";
char *property = "Name";
+ user_conn = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
+ if (user_conn == NULL)
+ {
+ fprintf(stderr, "DBus connection error: %s\n", error.message);
+ goto out;
+ }
+
+ // 创建DBus方法调用消息
message = dbus_message_new_method_call("org.freedesktop.login1",
- users[i],
+ path,
"org.freedesktop.DBus.Properties",
"Get");
if (message == NULL)
@@ -627,8 +628,19 @@ char *kdk_system_get_eUser()
goto out;
}
- dbus_message_append_args(message, DBUS_TYPE_STRING, &interface, DBUS_TYPE_STRING, &state, DBUS_TYPE_INVALID);
+ //添加入参
+ dbus_message_iter_init_append(message, &args);
+ if (!dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &interface))
+ {
+ goto out;
+ }
+ if (!dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &state))
+ {
+ goto out;
+ }
+
+ // 发送DBus消息并等待回复
reply = dbus_connection_send_with_reply_and_block(connection, message, -1, &error);
if (reply == NULL)
{
@@ -636,27 +648,26 @@ char *kdk_system_get_eUser()
goto out;
}
+ //释放message
dbus_message_unref(message);
- message = NULL;
- if (!dbus_message_iter_init(reply, &iter) ||
- dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT)
+ // 解析回复消息
+ if (!dbus_message_iter_init(reply, &args) ||
+ dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_VARIANT)
{
fprintf(stderr, "DBus reply parsing failed\n");
goto out;
}
-
+ // 释放reply
dbus_message_unref(reply);
- reply = NULL;
-
- char *active = NULL;
- dbus_message_iter_recurse(&iter, &iter);
- dbus_message_iter_get_basic(&iter, &active);
- if (0 == strcmp(active, "active"))
+ DBusMessageIter sub;
+ dbus_message_iter_recurse(&args, &sub);
+ dbus_message_iter_get_basic(&sub, &active);
+ if(0 == strcmp(active, "active"))
{
message = dbus_message_new_method_call("org.freedesktop.login1",
- users[i],
+ path,
"org.freedesktop.DBus.Properties",
"Get");
if (message == NULL)
@@ -665,8 +676,19 @@ char *kdk_system_get_eUser()
goto out;
}
- dbus_message_append_args(message, DBUS_TYPE_STRING, &interface, DBUS_TYPE_STRING, &property, DBUS_TYPE_INVALID);
+ // 添加入参
+ dbus_message_iter_init_append(message, &args);
+ if (!dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &interface))
+ {
+ goto out;
+ }
+
+ if (!dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &property))
+ {
+ goto out;
+ }
+ // 发送DBus消息并等待回复
reply = dbus_connection_send_with_reply_and_block(connection, message, -1, &error);
if (reply == NULL)
{
@@ -674,55 +696,62 @@ char *kdk_system_get_eUser()
goto out;
}
+ // 释放message
dbus_message_unref(message);
- message = NULL;
- if (!dbus_message_iter_init(reply, &iter) ||
- dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT)
+ // 解析回复消息
+ if (!dbus_message_iter_init(reply, &args) ||
+ dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_VARIANT)
{
fprintf(stderr, "DBus reply parsing failed\n");
goto out;
}
-
+ // 释放reply
dbus_message_unref(reply);
- reply = NULL;
- dbus_message_iter_recurse(&iter, &iter);
- dbus_message_iter_get_basic(&iter, &e_user);
+ dbus_message_iter_recurse(&args, &sub);
+ dbus_message_iter_get_basic(&sub, &e_user);
+ }
+ dbus_connection_unref(user_conn);
+ user_conn = NULL;
+ if(e_user)
break;
- }
+
+ dbus_message_iter_next(&iter);
}
- if (e_user)
- e_user = strdup(e_user);
+ int len = strlen(e_user);
+ char *eUser = (char *)malloc(sizeof(char) * len + 1);
+ memset(eUser, 0, len + 1);
+ strcpy(eUser, e_user);
+
+ // 释放内存
out:
- if (users)
- g_strfreev(users);
- if (dbus_error_is_set(&error))
- dbus_error_free(&error);
- if (message)
- dbus_message_unref(message);
- if (reply)
- dbus_message_unref(reply);
- if (connection)
+ dbus_error_free(&error);
+ // if(message)
+ // dbus_message_unref(message);
+ // if(reply)
+ // dbus_message_unref(reply);
+ if(connection)
dbus_connection_unref(connection);
- return e_user;
+ if(user_conn)
+ dbus_connection_unref(user_conn);
+ return eUser;
}
char *kdk_system_get_eUser_login_time()
{
+ char *active = NULL;
dbus_uint64_t time_stamp = 0;
- char *login_time = NULL;
- DBusConnection *connection = NULL;
+ DBusConnection *connection = NULL, *user_conn = NULL;
DBusMessage *message = NULL, *reply = NULL;
- DBusMessageIter iter;
+ DBusError error;
+ DBusMessageIter iter, args;
// 初始化DBus连接
- DBusError error;
dbus_error_init(&error);
-
connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
if (connection == NULL)
{
@@ -751,7 +780,6 @@ char *kdk_system_get_eUser_login_time()
// 释放message
dbus_message_unref(message);
- message = NULL;
// 解析回复消息
if (!dbus_message_iter_init(reply, &iter) ||
@@ -761,44 +789,47 @@ char *kdk_system_get_eUser_login_time()
fprintf(stderr, "DBus reply parsing failed\n");
goto out;
}
-
// 释放reply
dbus_message_unref(reply);
- reply = NULL;
-
- int element_count = dbus_message_iter_get_element_count(&iter);
- char **users = calloc(element_count + 1, sizeof(char *));
- if (NULL == users)
- goto out;
+ // 获取数组长度 获取的长度不对 弃用
+ // int array_length;
dbus_message_iter_recurse(&iter, &iter);
+ // array_length = dbus_message_iter_get_array_len(&iter);
+ // printf("%d\n", array_length);
- // 解析返回值
- // 循环中过程中调用新的dbus接口会导致迭代器iter被清空但是没细查原因
- // 先用一个字符串数组存储所有用户的object path
- for (int i = 0; i < element_count; i++)
+ // 解析数组中的每个结构体元素
+ while (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_INVALID)
{
- char *path = NULL;
-
DBusMessageIter struct_iter;
- dbus_message_iter_recurse(&iter, &struct_iter);
- dbus_message_iter_next(&struct_iter);
- dbus_message_iter_next(&struct_iter);
- dbus_message_iter_get_basic(&struct_iter, &path);
- users[i] = strdup(path);
+ dbus_uint32_t uid;
+ char *name = NULL, *path = NULL;
+ dbus_message_iter_recurse(&iter, &struct_iter);
- dbus_message_iter_next(&iter);
- }
+ // dbus_message_iter_get_basic(&struct_iter, &path); // 获取uid
- char *interface = "org.freedesktop.login1.User";
- char *state = "State";
- char *property = "Timestamp";
+ dbus_message_iter_next(&struct_iter);
+ // dbus_message_iter_get_basic(&struct_iter, &name); // 获取name
- for (int i = 0; i < element_count; i++)
- {
+ dbus_message_iter_next(&struct_iter);
+ dbus_message_iter_get_basic(&struct_iter, &path); // 获取interface
+
+ // 获取EUser
+ char *interface = "org.freedesktop.login1.User";
+ char *state = "State";
+ char *property = "Timestamp";
+
+ user_conn = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
+ if (user_conn == NULL)
+ {
+ fprintf(stderr, "DBus connection error: %s\n", error.message);
+ goto out;
+ }
+
+ // 创建DBus方法调用消息
message = dbus_message_new_method_call("org.freedesktop.login1",
- users[i],
+ path,
"org.freedesktop.DBus.Properties",
"Get");
if (message == NULL)
@@ -807,8 +838,19 @@ char *kdk_system_get_eUser_login_time()
goto out;
}
- dbus_message_append_args(message, DBUS_TYPE_STRING, &interface, DBUS_TYPE_STRING, &state, DBUS_TYPE_INVALID);
+ //添加入参
+ dbus_message_iter_init_append(message, &args);
+ if (!dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &interface))
+ {
+ goto out;
+ }
+
+ if (!dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &state))
+ {
+ goto out;
+ }
+ // 发送DBus消息并等待回复
reply = dbus_connection_send_with_reply_and_block(connection, message, -1, &error);
if (reply == NULL)
{
@@ -816,27 +858,26 @@ char *kdk_system_get_eUser_login_time()
goto out;
}
+ //释放message
dbus_message_unref(message);
- message = NULL;
- if (!dbus_message_iter_init(reply, &iter) ||
- dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT)
+ // 解析回复消息
+ if (!dbus_message_iter_init(reply, &args) ||
+ dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_VARIANT)
{
fprintf(stderr, "DBus reply parsing failed\n");
goto out;
}
-
+ // 释放reply
dbus_message_unref(reply);
- reply = NULL;
-
- char *active = NULL;
- dbus_message_iter_recurse(&iter, &iter);
- dbus_message_iter_get_basic(&iter, &active);
- if (0 == strcmp(active, "active"))
+ DBusMessageIter sub;
+ dbus_message_iter_recurse(&args, &sub);
+ dbus_message_iter_get_basic(&sub, &active);
+ if(0 == strcmp(active, "active"))
{
message = dbus_message_new_method_call("org.freedesktop.login1",
- users[i],
+ path,
"org.freedesktop.DBus.Properties",
"Get");
if (message == NULL)
@@ -845,8 +886,19 @@ char *kdk_system_get_eUser_login_time()
goto out;
}
- dbus_message_append_args(message, DBUS_TYPE_STRING, &interface, DBUS_TYPE_STRING, &property, DBUS_TYPE_INVALID);
+ // 添加入参
+ dbus_message_iter_init_append(message, &args);
+ if (!dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &interface))
+ {
+ goto out;
+ }
+
+ if (!dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &property))
+ {
+ goto out;
+ }
+ // 发送DBus消息并等待回复
reply = dbus_connection_send_with_reply_and_block(connection, message, -1, &error);
if (reply == NULL)
{
@@ -854,47 +906,48 @@ char *kdk_system_get_eUser_login_time()
goto out;
}
+ // 释放message
dbus_message_unref(message);
- message = NULL;
- if (!dbus_message_iter_init(reply, &iter) ||
- dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT)
+ // 解析回复消息
+ if (!dbus_message_iter_init(reply, &args) ||
+ dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_VARIANT)
{
fprintf(stderr, "DBus reply parsing failed\n");
goto out;
}
-
+ // 释放reply
dbus_message_unref(reply);
- reply = NULL;
- dbus_message_iter_recurse(&iter, &iter);
- dbus_message_iter_get_basic(&iter, &time_stamp);
+ dbus_message_iter_recurse(&args, &sub);
+ dbus_message_iter_get_basic(&sub, &time_stamp);
+ }
+ dbus_connection_unref(user_conn);
+ user_conn = NULL;
+ if(0 < time_stamp)
break;
- }
+ dbus_message_iter_next(&iter);
}
- if (0 == time_stamp)
- goto out;
-
time_t t1 = time_stamp / 1000000;
struct tm *timeDate = localtime(&t1);
- login_time = calloc(32, sizeof(char));
+ char *login_time = calloc(32, sizeof(char));
sprintf(login_time, "%04d-%02d-%02d %02d:%02d:%02d", timeDate->tm_year + 1900, timeDate->tm_mon + 1,
timeDate->tm_mday, timeDate->tm_hour, timeDate->tm_min, timeDate->tm_sec);
+ // 释放内存
out:
- if (users)
- g_strfreev(users);
- if (dbus_error_is_set(&error))
- dbus_error_free(&error);
- if (message)
- dbus_message_unref(message);
- if (reply)
- dbus_message_unref(reply);
- if (connection)
+ dbus_error_free(&error);
+ // if(message)
+ // dbus_message_unref(message);
+ // if(reply)
+ // dbus_message_unref(reply);
+ if(connection)
dbus_connection_unref(connection);
+ if(user_conn)
+ dbus_connection_unref(user_conn);
return login_time;
}
@@ -2511,193 +2564,3 @@ kdk_loadavg kdk_system_get_loadavg()
}
return loadAvg;
}
-
-static pthread_t thread = 0;
-static volatile int running = 0;
-static char *curr_user = NULL;
-CallBack _callback = NULL;
-
-static void signal_handler(DBusConnection *connection, DBusMessage *message, void *user_data)
-{
- DBusError err;
- dbus_error_init(&err);
-
- if (dbus_message_is_signal(message, "org.freedesktop.DBus.Properties", "PropertiesChanged"))
- {
- // const char *interface_name;
- DBusMessageIter array_iter, dict_iter, struct_iter, value_iter;
- // const char *property_name;
- const char *session_id, *session_path;
-
- // 迭代到interfacename
- DBusMessageIter iter;
- dbus_message_iter_init(message, &iter);
- // dbus_message_iter_get_basic(&iter, &interface_name);
-
- // 迭代到propertiename
- dbus_message_iter_next(&iter);
- dbus_message_iter_recurse(&iter, &array_iter);
- dbus_message_iter_recurse(&array_iter, &dict_iter);
- // dbus_message_iter_get_basic(&dict_iter, &property_name);
-
- // 迭代到propertievalue
- dbus_message_iter_next(&dict_iter);
- dbus_message_iter_recurse(&dict_iter, &struct_iter);
- dbus_message_iter_recurse(&struct_iter, &value_iter);
- dbus_message_iter_get_basic(&value_iter, &session_id);
- dbus_message_iter_next(&value_iter);
- dbus_message_iter_get_basic(&value_iter, &session_path);
-
- //切换tty会出发信号切换到tty1 tty2等终端但这些没有用户登录时不相应
- if (0 == strcmp("/", session_path))
- {
- free(curr_user);
- curr_user = NULL;
- return;
- }
-
- // 创建DBus方法调用消息
- DBusMessage *msg = dbus_message_new_method_call("org.freedesktop.login1",
- session_path,
- "org.freedesktop.DBus.Properties",
- "Get");
- char *interface = "org.freedesktop.login1.Session";
- char *name = "Name";
- dbus_message_append_args(msg, DBUS_TYPE_STRING, &interface, DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID);
-
- // 发送消息并等待响应
- DBusMessage *reply;
- reply = dbus_connection_send_with_reply_and_block(connection, msg, -1, &err);
- if (dbus_error_is_set(&err))
- {
- printf("Error sending message: %s\n", err.message);
- dbus_error_free(&err);
- return 1;
- }
-
- // 处理响应
- const char *response;
- DBusMessageIter reply_iter;
- dbus_message_iter_init(reply, &reply_iter);
- // 移动到variant参数的内部
- dbus_message_iter_recurse(&reply_iter, &reply_iter);
- dbus_message_iter_get_basic(&reply_iter, &response);
-
- // 释放消息和连接
- dbus_message_unref(msg);
- dbus_message_unref(reply);
-
- if (0 != strcmp(response, "lightdm"))
- {
- // struct passwd *pwd = getpwnam(response);
- _callback(curr_user, response, user_data);
- free(curr_user);
- curr_user = strdup(response);
- }
-
- }
-
- return;
-}
-
-void *dbus_listener_thread(void *data)
-{
- DBusConnection *connection;
- DBusError error;
-
- // 初始化DBus错误结构
- dbus_error_init(&error);
-
- // 建立与DBus系统总线的连接
- connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
- if (dbus_error_is_set(&error))
- {
- fprintf(stderr, "Connection Error (%s)\n", error.message);
- dbus_error_free(&error);
- pthread_exit(NULL);
- }
- if (connection == NULL)
- {
- fprintf(stderr, "Connection Null\n");
- pthread_exit(NULL);
- }
-
- // 设置消息处理函数
- dbus_bus_add_match(connection,
- "type='signal',path='/org/freedesktop/login1/seat/seat0',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged'",
- &error);
- dbus_connection_add_filter(connection, signal_handler, NULL, NULL);
-
- // 循环监听DBus消息
- while (true)
- {
- if (running)
- dbus_connection_read_write_dispatch(connection, 20);
- else
- {
- dbus_connection_unref(connection);
- pthread_exit(NULL);
- }
- }
-
- return NULL;
-}
-
-int kdk_system_register_switch_user_handle(CallBack call_back, void *user_data)
-{
- DBusConnection *connection;
- DBusError err;
-
- // 初始化DBus错误结构
- dbus_error_init(&err);
-
- // 建立与DBus系统总线的连接
- connection = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
- if (dbus_error_is_set(&err))
- {
- fprintf(stderr, "Connection Error (%s)\n", err.message);
- dbus_error_free(&err);
- return 1;
- }
- if (connection == NULL)
- {
- fprintf(stderr, "Connection Null\n");
- return 1;
- }
-
- DBusMessage *msg = dbus_message_new_method_call("org.freedesktop.login1",
- "/org/freedesktop/login1",
- "org.freedesktop.login1.Manager",
- "GetSeat");
- const char *arg = "seat1";
- dbus_message_append_args(msg, DBUS_TYPE_STRING, &arg, DBUS_TYPE_INVALID);
-
- DBusMessage *reply;
- reply = dbus_connection_send_with_reply_and_block(connection, msg, -1, &err);
- if (dbus_error_is_set(&err))
- {
- dbus_error_free(&err);
- }
- else
- return -1;
-
- dbus_message_unref(msg);
- dbus_connection_unref(connection);
-
- char *tmp = kdk_system_get_eUser();
- curr_user = strdup(tmp);
- running = 1;
- _callback = call_back;
- pthread_create(&thread, NULL, dbus_listener_thread, user_data);
- return 0;
-}
-
-void kdk_system_unregister_switch_user_handle()
-{
- if (NULL != _callback)
- {
- running = 0;
- _callback = NULL;
- pthread_join(thread, NULL);
- }
-}
diff --git a/src/systeminfo/libkysysinfo.h b/src/systeminfo/libkysysinfo.h
index 5cef7e6..a0030bf 100644
--- a/src/systeminfo/libkysysinfo.h
+++ b/src/systeminfo/libkysysinfo.h
@@ -337,25 +337,6 @@ extern unsigned int kdk_system_get_thread_nums();
*/
extern kdk_loadavg kdk_system_get_loadavg();
-/**
- * @brief 用户监听事件的回调函数原型
-*/
-typedef void (*CallBack)(char *old_user, char *new_user, void *user_data);
-
-/**
- * @brief 注册监听用户切换事件的回调函数
- * @param call_back 指向回调函数的函数指针
- * @param user_data 传递给回调函数的用户数据结构指针
- *
- * @return int 1 成功; 0 失败
-*/
-extern int kdk_system_register_switch_user_handle(CallBack call_back, void *user_data);
-
-/**
- * @brief 注销监听用户切换事件的回调函数
-*/
-extern void kdk_system_unregister_switch_user_handle();
-
#ifdef __cplusplus
}
#endif

View File

@ -19,3 +19,4 @@
0019-26155-sdk.patch
0020-.patch
0021-update-changelog.patch
0022-update-changelog.patch