* The text field for the dynamic function entry/return probe.
*/
private Text fFunctionText;
+ /**
+ * The filter text
+ */
+ private Text fFilterText;
/**
* The referenced trace provider group containing the kernel provider
* component which contains a list of available tracepoints.
* The dynamic function entry/return probe.
*/
private String fFunctionString;
+ /**
+ * The filter expression
+ */
+ private String fFilterExpression;
// ------------------------------------------------------------------------
// Constructors
return fFunctionString;
}
+ @Override
+ public String getFilterExpression() {
+ return fFilterExpression;
+ }
+
// ------------------------------------------------------------------------
// Operations
// ------------------------------------------------------------------------
// Dynamic Function Probe Group
createDynamicFunctionPropeGroup();
+ // Filter Group
+ createFilterGroup();
+
// Set default enablements
setKernelEnablements(KernelGroupEnum.TRACEPOINTS);
}
fFunctionString = fFunctionText.getText();
}
+ // initialize filter with null
+ fFilterExpression = null;
+ if (fProviderGroup.isEventFilteringSupported(true)) {
+ String tempFilter = fFilterText.getText();
+
+ if(!tempFilter.isEmpty() && !tempFilter.matches("\\s*")) { //$NON-NLS-1$
+ fFilterExpression = tempFilter;
+ }
+ }
+
return true;
}
fFunctionText.setEnabled(group == KernelGroupEnum.FUNCTION);
}
+ private void createFilterGroup() {
+ if (fProviderGroup.isEventFilteringSupported(true)) {
+ Group filterMainGroup = new Group(this, SWT.SHADOW_NONE);
+ filterMainGroup.setText(Messages.TraceControl_EnableEventsFilterGroupName);
+ GridLayout layout = new GridLayout(3, false);
+ filterMainGroup.setLayout(layout);
+ GridData data = new GridData(GridData.FILL_HORIZONTAL);
+ filterMainGroup.setLayoutData(data);
+
+ fFilterText = new Text(filterMainGroup, SWT.LEFT);
+ fFilterText.setToolTipText(Messages.TraceControl_EnableEventsFilterTooltip);
+ data = new GridData(GridData.FILL_HORIZONTAL);
+ fFilterText.setLayoutData(data);
+ }
+ }
+
// ------------------------------------------------------------------------
// Local classes
// ------------------------------------------------------------------------
// initialize filter with null
fFilterExpression = null;
- if (fProviderGroup.isEventFilteringSupported()) {
+ if (fProviderGroup.isEventFilteringSupported(false)) {
String tempFilter = fFilterText.getText();
if(!tempFilter.isEmpty() && !tempFilter.matches("\\s*")) { //$NON-NLS-1$
}
void createFilterGroup() {
- if (fProviderGroup.isEventFilteringSupported()) {
+ if (fProviderGroup.isEventFilteringSupported(false)) {
Group filterMainGroup = new Group(this, SWT.SHADOW_NONE);
filterMainGroup.setText(Messages.TraceControl_EnableEventsFilterGroupName);
GridLayout layout = new GridLayout(3, false);
});
// take first session to test whether events filtering is supported or not
- if (fSessions[0].isEventFilteringSupported() && !fIsKernel) {
+ if (fSessions[0].isEventFilteringSupported(fIsKernel)) {
Group filterMainGroup = new Group(dialogComposite, SWT.SHADOW_NONE);
filterMainGroup.setText(Messages.TraceControl_EnableEventsFilterGroupName);
layout = new GridLayout(2, false);
// initialize filter with null
fFilterExpression = null;
- if (fSessions[0].isEventFilteringSupported() && !fIsKernel) {
+ if (fSessions[0].isEventFilteringSupported(fIsKernel)) {
String tempFilter = fFilterText.getText();
if(!tempFilter.isEmpty() && !tempFilter.matches("\\s*")) { //$NON-NLS-1$