**********************************************************************/
package org.eclipse.linuxtools.lttng.ui.views.control.model.impl;
+import java.util.List;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.linuxtools.lttng.ui.LTTngUiPlugin;
import org.eclipse.linuxtools.lttng.ui.views.control.Messages;
import org.eclipse.linuxtools.lttng.ui.views.control.model.IChannelInfo;
import org.eclipse.linuxtools.lttng.ui.views.control.model.IEventInfo;
import org.eclipse.linuxtools.lttng.ui.views.control.model.ITraceControlComponent;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.LogLevelType;
import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceEnablement;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceLogLevel;
import org.eclipse.linuxtools.lttng.ui.views.control.property.TraceChannelPropertySource;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.views.properties.IPropertySource;
return ((TraceDomainComponent)getParent()).getSessionName();
}
+ /**
+ * @return session from parent
+ */
+ public TraceSessionComponent getSession() {
+ return ((TraceDomainComponent)getParent()).getSession();
+ }
+
/**
* @return if domain is kernel or UST
*/
return ((TraceDomainComponent)getParent()).isKernel();
}
+ /**
+ * @return the parent target node
+ */
+ public TargetNodeComponent getTargetNode() {
+ return ((TraceDomainComponent)getParent()).getTargetNode();
+ }
+
// ------------------------------------------------------------------------
// Operations
// ------------------------------------------------------------------------
+ /**
+ * Enables a list of events with no additional parameters.
+ * @param eventNames - a list of event names to enabled.
+ * @throws ExecutionException
+ */
+ public void enableEvents(List<String> eventNames) throws ExecutionException {
+ enableEvents(eventNames, new NullProgressMonitor());
+ }
+
+ /**
+ * Enables a list of events with no additional parameters.
+ * @param eventNames - a list of event names to enabled.
+ * @param monitor - a progress monitor
+ * @throws ExecutionException
+ */
+ public void enableEvents(List<String> eventNames, IProgressMonitor monitor) throws ExecutionException {
+ getControlService().enableEvents(getSessionName(), getName(), eventNames, isKernel(), monitor);
+ }
+
+ /**
+ * Enables all syscalls (for kernel domain)
+ * @throws ExecutionException
+ */
+ public void enableSyscalls() throws ExecutionException {
+ enableSyscalls(new NullProgressMonitor());
+ }
+
+ /**
+ * Enables all syscalls (for kernel domain)
+ * @param monitor - a progress monitor
+ * @throws ExecutionException
+ */
+ public void enableSyscalls(IProgressMonitor monitor) throws ExecutionException {
+ getControlService().enableSyscalls(getSessionName(), getName(), monitor);
+ }
+
+ /**
+ * Enables a dynamic probe (for kernel domain)
+ * @param eventName - event name for probe
+ * @param probe - the actual probe
+ * @throws ExecutionException
+ */
+ public void enableProbe(String eventName, String probe) throws ExecutionException {
+ enableProbe(eventName, probe, new NullProgressMonitor());
+ }
+
+ /**
+ * Enables a dynamic probe (for kernel domain)
+ * @param eventName - event name for probe
+ * @param probe - the actual probe
+ * @param monitor - a progress monitor
+ * @throws ExecutionException
+ */
+ public void enableProbe(String eventName, String probe, IProgressMonitor monitor) throws ExecutionException {
+ getControlService().enableProbe(getSessionName(), getName(), eventName, probe, monitor);
+ }
+
+ /**
+ * Enables a dynamic function entry/return probe (for kernel domain)
+ * @param eventName - event name for probe
+ * @param probe - the actual probe
+ * @throws ExecutionException
+ */
+ public void enableFunctionProbe(String eventName, String probe) throws ExecutionException {
+ enableFunctionProbe(eventName, probe, new NullProgressMonitor());
+ }
+
+ /**
+ * Enables a dynamic function entry/return probe (for kernel domain)
+ * @param eventName - event name for probe
+ * @param probe - the actual probe
+ * @param monitor - a progress monitor
+ * @throws ExecutionException
+ */
+ public void enableFunctionProbe(String eventName, String probe, IProgressMonitor monitor) throws ExecutionException {
+ getControlService().enableFunctionProbe(getSessionName(), getName(), eventName, probe, monitor);
+ }
+
+ /**
+ * Enables events using log level.
+ * @param eventName - a event name
+ * @param logLevelType - a log level type
+ * @param level - a log level
+ * @throws ExecutionException
+ */
+ public void enableLogLevel(String eventName, LogLevelType logLevelType, TraceLogLevel level) throws ExecutionException {
+ enableLogLevel(eventName, logLevelType, level, new NullProgressMonitor());
+ }
+
+ /**
+ * Enables events using log level.
+ * @param eventName - a event name
+ * @param logLevelType - a log level type
+ * @param level - a log level
+ * @param monitor - a progress monitor
+ * @throws ExecutionException
+ */
+ public void enableLogLevel(String eventName, LogLevelType logLevelType, TraceLogLevel level, IProgressMonitor monitor) throws ExecutionException {
+ getControlService().enableLogLevel(getSessionName(), getName(), eventName, logLevelType, level, monitor);
+ }
+
+ /**
+ * Enables a list of events with no additional parameters.
+ * @param eventNames - a list of event names to enabled.
+ * @throws ExecutionException
+ */
+ public void disableEvent(List<String> eventNames) throws ExecutionException {
+ disableEvent(eventNames, new NullProgressMonitor());
+ }
+
+ /**
+ * Enables a list of events with no additional parameters.
+ * @param eventNames - a list of event names to enabled.
+ * @param monitor - a progress monitor
+ * @throws ExecutionException
+ */
+ public void disableEvent(List<String> eventNames, IProgressMonitor monitor) throws ExecutionException {
+ getControlService().disableEvent(getParent().getParent().getName(), getName(), eventNames, isKernel(), monitor);
+ }
}