blob: 039e7dad892dd35b90c490555f981659a00cb5c3 [file] [log] [blame]
San Mehatd1830422010-01-15 08:02:39 -08001/*
2 * Copyright (C) 2008 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#include <stdio.h>
18#include <stdlib.h>
19#include <errno.h>
20
21#define LOG_TAG "Netd"
22
23#include <cutils/log.h>
24
25#include <sysutils/NetlinkEvent.h>
26#include "NetlinkHandler.h"
27
28NetlinkHandler::NetlinkHandler(int listenerSocket) :
29 NetlinkListener(listenerSocket) {
30}
31
32NetlinkHandler::~NetlinkHandler() {
33}
34
35int NetlinkHandler::start() {
36 return this->startListener();
37}
38
39int NetlinkHandler::stop() {
40 return this->stopListener();
41}
42
43void NetlinkHandler::onEvent(NetlinkEvent *evt) {
44 const char *subsys = evt->getSubsystem();
45
46 if (!subsys) {
47 LOGW("No subsystem found in netlink event");
48 return;
49 }
50
51 if (!strcmp(subsys, "block")) {
52 } else if (!strcmp(subsys, "switch")) {
53 } else if (!strcmp(subsys, "battery")) {
54 } else if (!strcmp(subsys, "power_supply")) {
55 } else {
56 LOGE("Dropping %s netlink event", subsys);
57 }
58}