blob: 5202aa04636248754909873776f3c81f6b67269c [file] [log] [blame]
Jon Medhurstaaf37a32013-06-11 12:10:56 +01001/**
Jon Medhurst15ce78d2014-04-10 09:02:02 +01002 * Copyright (C) ARM Limited 2013-2014. All rights reserved.
Jon Medhurstaaf37a32013-06-11 12:10:56 +01003 *
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 */
8
9#ifndef COUNTER_H
10#define COUNTER_H
11
12#include <string.h>
13
14class Driver;
15
16class Counter {
17public:
18 static const size_t MAX_STRING_LEN = 80;
19 static const size_t MAX_DESCRIPTION_LEN = 400;
20
21 Counter () {
22 clear();
23 }
24
25 void clear () {
26 mType[0] = '\0';
27 mEnabled = false;
Jon Medhurst15ce78d2014-04-10 09:02:02 +010028 mEvent = -1;
Jon Medhurstaaf37a32013-06-11 12:10:56 +010029 mCount = 0;
Jon Medhurste31266f2014-08-04 15:47:44 +010030 mCores = -1;
Jon Medhurstaaf37a32013-06-11 12:10:56 +010031 mKey = 0;
32 mDriver = NULL;
33 }
34
35 void setType(const char *const type) { strncpy(mType, type, sizeof(mType)); mType[sizeof(mType) - 1] = '\0'; }
36 void setEnabled(const bool enabled) { mEnabled = enabled; }
37 void setEvent(const int event) { mEvent = event; }
38 void setCount(const int count) { mCount = count; }
Jon Medhurste31266f2014-08-04 15:47:44 +010039 void setCores(const int cores) { mCores = cores; }
Jon Medhurstaaf37a32013-06-11 12:10:56 +010040 void setKey(const int key) { mKey = key; }
41 void setDriver(Driver *const driver) { mDriver = driver; }
42
43 const char *getType() const { return mType;}
44 bool isEnabled() const { return mEnabled; }
45 int getEvent() const { return mEvent; }
46 int getCount() const { return mCount; }
Jon Medhurste31266f2014-08-04 15:47:44 +010047 int getCores() const { return mCores; }
Jon Medhurstaaf37a32013-06-11 12:10:56 +010048 int getKey() const { return mKey; }
49 Driver *getDriver() const { return mDriver; }
50
51private:
52 // Intentionally unimplemented
53 Counter(const Counter &);
54 Counter & operator=(const Counter &);
55
56 char mType[MAX_STRING_LEN];
57 bool mEnabled;
58 int mEvent;
59 int mCount;
Jon Medhurste31266f2014-08-04 15:47:44 +010060 int mCores;
Jon Medhurstaaf37a32013-06-11 12:10:56 +010061 int mKey;
62 Driver *mDriver;
63};
64
65#endif // COUNTER_H