1e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin/* 2e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * Copyright (C) 2017 The Android Open Source Project 3e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * 4e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * Licensed under the Apache License, Version 2.0 (the "License"); 5e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * you may not use this file except in compliance with the License. 6e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * You may obtain a copy of the License at 7e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * 8e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * http://www.apache.org/licenses/LICENSE-2.0 9e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * 10e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * Unless required by applicable law or agreed to in writing, software 11e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * distributed under the License is distributed on an "AS IS" BASIS, 12e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * See the License for the specific language governing permissions and 14e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * limitations under the License. 15e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin */ 16e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin 17e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin#ifndef CPU_INFO_PARSER_H 18e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin#define CPU_INFO_PARSER_H 19e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin 20e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin#include "TextParserBase.h" 21e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin 22e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jinusing namespace android; 23e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin 24e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin/** 25e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * Cpu info parser, parses text produced by command 26e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin * 'top -b -n 1 -H -s 6 -o pid,tid,user,pr,ni,%cpu,s,virt,res,pcy,cmd,name' 27e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin */ 28e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jinclass CpuInfoParser : public TextParserBase { 29e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jinpublic: 30e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin CpuInfoParser() : TextParserBase(String8("CpuInfoParser")) {}; 31e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin ~CpuInfoParser() {}; 32e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin 33e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin virtual status_t Parse(const int in, const int out) const; 34e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin}; 35e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin 36e2f7f79d023f0b3ba2fee374492dde61f525ece6Yi Jin#endif // CPU_INFO_PARSER_H 37