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