From 27ab7e10d7b8343f6354359b3d2c6900d6beed78 Mon Sep 17 00:00:00 2001 From: Ruchi Kandoi Date: Tue, 11 Mar 2014 18:00:44 -0700 Subject: [PATCH] netd: Add support for timestamp in idletimer netlink notification. Change-Id: I77e9052e988d65c6b543441a8f03876bcd7c15ce Signed-off-by: Ruchi Kandoi --- NetlinkHandler.cpp | 11 ++++++++--- NetlinkHandler.h | 3 ++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/NetlinkHandler.cpp b/NetlinkHandler.cpp index 7edd190..9c2984f 100644 --- a/NetlinkHandler.cpp +++ b/NetlinkHandler.cpp @@ -93,8 +93,9 @@ void NetlinkHandler::onEvent(NetlinkEvent *evt) { int action = evt->getAction(); const char *label = evt->findParam("INTERFACE"); const char *state = evt->findParam("STATE"); + const char *timestamp = evt->findParam("TIME_NS"); if (state) - notifyInterfaceClassActivity(label, !strcmp("active", state)); + notifyInterfaceClassActivity(label, !strcmp("active", state), timestamp); #if !LOG_NDEBUG } else if (strcmp(subsys, "platform") && strcmp(subsys, "backlight")) { @@ -140,9 +141,13 @@ void NetlinkHandler::notifyQuotaLimitReached(const char *name, const char *iface } void NetlinkHandler::notifyInterfaceClassActivity(const char *name, - bool isActive) { - notify(ResponseCode::InterfaceClassActivity, + bool isActive, const char *timestamp) { + if (timestamp == NULL) + notify(ResponseCode::InterfaceClassActivity, "IfaceClass %s %s", isActive ? "active" : "idle", name); + else + notify(ResponseCode::InterfaceClassActivity, + "IfaceClass %s %s %s", isActive ? "active" : "idle", name, timestamp); } void NetlinkHandler::notifyAddressChanged(int action, const char *addr, diff --git a/NetlinkHandler.h b/NetlinkHandler.h index 94b7282..a5c5b6b 100644 --- a/NetlinkHandler.h +++ b/NetlinkHandler.h @@ -39,7 +39,8 @@ protected: void notifyInterfaceChanged(const char *name, bool isUp); void notifyInterfaceLinkChanged(const char *name, bool isUp); void notifyQuotaLimitReached(const char *name, const char *iface); - void notifyInterfaceClassActivity(const char *name, bool isActive); + void notifyInterfaceClassActivity(const char *name, bool isActive, + const char *timestamp); void notifyAddressChanged(int action, const char *addr, const char *iface, const char *flags, const char *scope); void notifyInterfaceDnsServers(const char *iface, const char *lifetime, -- 2.11.0