/*******************************************************************************
* Copyright (c) 2004, 2008, 2009 Red Hat, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Keith Seitz <keiths@redhat.com> - initial API and implementation
* Kent Sebastian <ksebasti@redhat.com> -
*
* CounterSubTab Contributors:
* Keith Seitz <keiths@redhat.com> - initial API and implementation (before subclassing)
* Kent Sebastian <ksebasti@redhat.com> - turned into a sub class,
* changed layouts, fixed up some interactivity issues, ..
*
* UnitMaskViewer Contributors:
* Keith Seitz <keiths@redhat.com> - initial API and implementation
* Kent Sebastian <ksebasti@redhat.com>
*******************************************************************************/
package org.eclipse.linuxtools.internal.oprofile.launch.configuration;
import org.eclipse.core.resources.IProject;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.linuxtools.internal.oprofile.core.Oprofile;
import org.eclipse.linuxtools.internal.oprofile.launch.OprofileLaunchPlugin;
/**
* Thic class represents the event configuration tab of the launcher dialog.
* It supplies all functionality dependent on opcontrol and having root access.
*/
public class OprofileEventConfigTab extends AbstractEventConfigTab {
@Override
protected boolean getOprofileTimerMode() {
return Oprofile.getTimerMode();
}
@Override
public OprofileCounter getOprofileCounter(int i) {
return new OprofileCounter(i);
}
@Override
protected OprofileCounter[] getOprofileCounters(ILaunchConfiguration config) {
return OprofileCounter.getCounters(config);
}
@Override
protected int getNumberOfOprofileCounters() {
return Oprofile.getNumberOfCounters();
}
@Override
protected IProject getOprofileProject() {
return Oprofile.OprofileProject.getProject();
}
@Override
protected void setOprofileProject(IProject project) {
Oprofile.OprofileProject.setProject(project);
}
@Override
protected void updateOprofileInfo() {
Oprofile.updateInfo();
}
@Override
protected boolean checkEventSetupValidity(int counter, String name,
int maskValue) {
return OprofileLaunchPlugin.getCache().checkEvent(counter, name, maskValue);
}
}