Merge tag 'v3.10.86' into linux-linaro-lsk-v3.10
[firefly-linux-kernel-4.4.55.git] / tools / gator / daemon / Counter.h
1 /**
2  * Copyright (C) ARM Limited 2013-2015. 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  */
8
9 #ifndef COUNTER_H
10 #define COUNTER_H
11
12 #include <string.h>
13
14 class Driver;
15
16 class Counter {
17 public:
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;
28                 mEvent = -1;
29                 mCount = 0;
30                 mCores = -1;
31                 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; }
39         void setCores(const int cores) { mCores = cores; }
40         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; }
47         int getCores() const { return mCores; }
48         int getKey() const { return mKey; }
49         Driver *getDriver() const { return mDriver; }
50
51 private:
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;
60         int mCores;
61         int mKey;
62         Driver *mDriver;
63 };
64
65 #endif // COUNTER_H