aboutsummaryrefslogtreecommitdiff
path: root/perf
diff options
context:
space:
mode:
authorArjan van de Ven <arjan@linux.intel.com>2010-08-10 11:34:14 -0400
committerArjan van de Ven <arjan@linux.intel.com>2010-08-10 11:34:14 -0400
commit7174d08a3da3448751777b768c00030910448283 (patch)
tree5de9928521364a24d273c61a8abdb2cc33e20b71 /perf
parentf5057ad968a7ba766339ab760fd8f723e9659342 (diff)
downloadpowertop-7174d08a3da3448751777b768c00030910448283.tar.gz
fill in more stuff
Diffstat (limited to 'perf')
-rw-r--r--perf/perf_bundle.cpp37
-rw-r--r--perf/perf_bundle.h10
2 files changed, 42 insertions, 5 deletions
diff --git a/perf/perf_bundle.cpp b/perf/perf_bundle.cpp
index b31135f..1ce5017 100644
--- a/perf/perf_bundle.cpp
+++ b/perf/perf_bundle.cpp
@@ -1,19 +1,52 @@
#include <iostream>
#include "perf_bundle.h"
+#include "perf.h"
-
-void perf_bundle::add_event(char *event_name)
+void perf_bundle::add_event(const char *event_name)
{
+ class perf_event *ev;
+
+ ev = new class perf_event(event_name);
+
+ events.push_back(ev);
}
+
void perf_bundle::start(void)
{
+ unsigned int i;
+ class perf_event *ev;
+
+ for (i = 0; i < events.size(); i++) {
+ ev = events[i];
+ if (!ev)
+ continue;
+ ev->start();
+ }
}
void perf_bundle::stop(void)
{
+ unsigned int i;
+ class perf_event *ev;
+
+ for (i = 0; i < events.size(); i++) {
+ ev = events[i];
+ if (!ev)
+ continue;
+ ev->stop();
+ }
}
void perf_bundle::clear(void)
{
+ unsigned int i;
+ class perf_event *ev;
+
+ for (i = 0; i < events.size(); i++) {
+ ev = events[i];
+ if (!ev)
+ continue;
+ ev->clear();
+ }
}
void perf_bundle::process(void)
{
diff --git a/perf/perf_bundle.h b/perf/perf_bundle.h
index ce7e02b..b3c8cb8 100644
--- a/perf/perf_bundle.h
+++ b/perf/perf_bundle.h
@@ -1,16 +1,20 @@
-#ifndef _INCLUDE_GUARD_PERF_H_
-#define _INCLUDE_GUARD_PERF_H_
+#ifndef _INCLUDE_GUARD_PERF_BUNDLE_H_
+#define _INCLUDE_GUARD_PERF_BUNDLE_H_
#include <iostream>
#include <vector>
+
using namespace std;
+#include "perf.h"
+class perf_event;
+
class perf_bundle {
protected:
vector<class perf_event *> events;
public:
- void add_event(char *event_name);
+ void add_event(const char *event_name);
void start(void);
void stop(void);