1 /**
2 * Copyright (C) ARM Limited 2010-2012. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
9 #ifndef __COLLECTOR_H__
10 #define __COLLECTOR_H__
12 #include <stdio.h>
14 class Collector {
15 public:
16 Collector();
17 ~Collector();
18 void start();
19 void stop();
20 int collect(char* buffer);
21 void enablePerfCounters();
22 void setupPerfCounters();
23 int getBufferSize() {return mBufferSize;}
24 private:
25 int mBufferSize;
26 int mBufferFD;
28 void checkVersion();
29 void getCoreName();
31 int readIntDriver(const char* path, int* value);
32 int writeDriver(const char* path, int value);
33 int writeDriver(const char* path, const char* data);
34 int writeReadDriver(const char* path, int* value);
35 };
37 #endif //__COLLECTOR_H__