NetlinkEvent.h revision 168415b822cae1f8b54ef09c41c11a9b97b87f40
1168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat/* 2168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat * Copyright (C) 2008 The Android Open Source Project 3168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat * 4168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat * Licensed under the Apache License, Version 2.0 (the "License"); 5168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat * you may not use this file except in compliance with the License. 6168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat * You may obtain a copy of the License at 7168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat * 8168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat * http://www.apache.org/licenses/LICENSE-2.0 9168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat * 10168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat * Unless required by applicable law or agreed to in writing, software 11168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat * distributed under the License is distributed on an "AS IS" BASIS, 12168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat * See the License for the specific language governing permissions and 14168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat * limitations under the License. 15168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat */ 16168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat#ifndef _NETLINKEVENT_H 17168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat#define _NETLINKEVENT_H 18168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat 19168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat#define NL_PARAMS_MAX 32 20168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat 21168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehatclass NetlinkEvent { 22168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat int mSeq; 23168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat char *mPath; 24168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat int mAction; 25168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat char *mSubsystem; 26168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat char *mParams[NL_PARAMS_MAX]; 27168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat 28168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehatpublic: 29168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat const static int NlActionUnknown; 30168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat const static int NlActionAdd; 31168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat const static int NlActionRemove; 32168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat const static int NlActionChange; 33168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat 34168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat NetlinkEvent(); 35168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat virtual ~NetlinkEvent(); 36168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat 37168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat bool decode(char *buffer, int size); 38168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat const char *findParam(const char *paramName); 39168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat 40168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat const char *getSubsystem() { return mSubsystem; } 41168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat int getAction() { return mAction; } 42168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat}; 43168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat 44168415b822cae1f8b54ef09c41c11a9b97b87f40San Mehat#endif 45