lttng: Fix most compiler warnings as per the new settings
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng2.ui / src / org / eclipse / linuxtools / internal / lttng2 / ui / views / control / model / impl / TraceDomainComponent.java
CommitLineData
eb1bab5b
BH
1/**********************************************************************
2 * Copyright (c) 2012 Ericsson
cfdb727a 3 *
eb1bab5b
BH
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
cfdb727a
AM
8 *
9 * Contributors:
eb1bab5b
BH
10 * Bernd Hufmann - Initial API and implementation
11 **********************************************************************/
115b4a01 12package org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl;
eb1bab5b 13
bbb3538a
BH
14import java.util.List;
15
16import org.eclipse.core.commands.ExecutionException;
17import org.eclipse.core.runtime.IProgressMonitor;
18import org.eclipse.core.runtime.NullProgressMonitor;
9315aeee
BH
19import org.eclipse.linuxtools.internal.lttng2.core.control.model.IChannelInfo;
20import org.eclipse.linuxtools.internal.lttng2.core.control.model.IDomainInfo;
21import org.eclipse.linuxtools.internal.lttng2.core.control.model.LogLevelType;
22import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceLogLevel;
23import org.eclipse.linuxtools.internal.lttng2.core.control.model.impl.DomainInfo;
24import org.eclipse.linuxtools.internal.lttng2.ui.views.control.messages.Messages;
115b4a01 25import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.ITraceControlComponent;
115b4a01 26import org.eclipse.linuxtools.internal.lttng2.ui.views.control.property.TraceDomainPropertySource;
06b9339e 27import org.eclipse.ui.views.properties.IPropertySource;
eb1bab5b
BH
28
29/**
eb1bab5b
BH
30 * <p>
31 * Implementation of the trace domain component.
32 * </p>
cfdb727a 33 *
dbd4432d 34 * @author Bernd Hufmann
eb1bab5b
BH
35 */
36public class TraceDomainComponent extends TraceControlComponent {
37 // ------------------------------------------------------------------------
38 // Constants
39 // ------------------------------------------------------------------------
40 /**
41 * Path to icon file for this component.
42 */
43 public static final String TRACE_DOMAIN_ICON_FILE = "icons/obj16/domain.gif"; //$NON-NLS-1$
44
45 // ------------------------------------------------------------------------
46 // Attributes
47 // ------------------------------------------------------------------------
48 /**
49 * The domain information.
50 */
bbb3538a 51 private IDomainInfo fDomainInfo = null;
eb1bab5b
BH
52
53 // ------------------------------------------------------------------------
54 // Constructors
55 // ------------------------------------------------------------------------
56 /**
cfdb727a 57 * Constructor
eb1bab5b
BH
58 * @param name - the name of the component.
59 * @param parent - the parent of this component.
60 */
61 public TraceDomainComponent(String name, ITraceControlComponent parent) {
62 super(name, parent);
63 setImage(TRACE_DOMAIN_ICON_FILE);
64 setToolTip(Messages.TraceControl_DomainDisplayName);
65 fDomainInfo = new DomainInfo(name);
66 }
67
68 // ------------------------------------------------------------------------
69 // Accessors
70 // ------------------------------------------------------------------------
71 /**
72 * Sets the domain information.
73 * @param domainInfo - the domain information to set.
74 */
75 public void setDomainInfo(IDomainInfo domainInfo) {
76 fDomainInfo = domainInfo;
77 IChannelInfo[] channels = fDomainInfo.getChannels();
78 for (int i = 0; i < channels.length; i++) {
79 TraceChannelComponent channel = new TraceChannelComponent(channels[i].getName(), this);
80 channel.setChannelInfo(channels[i]);
81 addChild(channel);
82 }
83 }
84
06b9339e
BH
85 /*
86 * (non-Javadoc)
115b4a01 87 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceControlComponent#getAdapter(java.lang.Class)
06b9339e 88 */
06b9339e
BH
89 @Override
90 public Object getAdapter(Class adapter) {
91 if (adapter == IPropertySource.class) {
92 return new TraceDomainPropertySource(this);
93 }
94 return null;
bbb3538a 95 }
cfdb727a 96
bbb3538a
BH
97 /**
98 * @return session name from parent
99 */
100 public String getSessionName() {
101 return ((TraceSessionComponent)getParent()).getName();
102 }
cfdb727a 103
6503ae0f
BH
104 /**
105 * @return session from parent
106 */
107 public TraceSessionComponent getSession() {
cfdb727a 108 return (TraceSessionComponent)getParent();
6503ae0f
BH
109 }
110
bbb3538a
BH
111 /**
112 * @return true if domain is kernel, false for UST
113 */
114 public boolean isKernel() {
115 return fDomainInfo.isKernel();
116 }
cfdb727a 117
bbb3538a 118 /**
cfdb727a 119 * Sets whether domain is Kernel domain or UST
bbb3538a
BH
120 * @param isKernel true for kernel, false for UST
121 */
122 public void setIsKernel(boolean isKernel) {
123 fDomainInfo.setIsKernel(isKernel);
124 }
cfdb727a 125
6503ae0f
BH
126 /**
127 * @return returns all available channels for this domain.
128 */
129 public TraceChannelComponent[] getChannels() {
130 List<ITraceControlComponent> channels = getChildren(TraceChannelComponent.class);
cfdb727a 131 return channels.toArray(new TraceChannelComponent[channels.size()]);
6503ae0f 132 }
cfdb727a 133
498704b3
BH
134 /**
135 * @return the parent target node
136 */
137 public TargetNodeComponent getTargetNode() {
138 return ((TraceSessionComponent)getParent()).getTargetNode();
139 }
bbb3538a 140
eb1bab5b
BH
141 // ------------------------------------------------------------------------
142 // Operations
143 // ------------------------------------------------------------------------
cfdb727a 144
bbb3538a 145 /**
cfdb727a
AM
146 * Retrieves the session configuration from the node.
147 *
bbb3538a 148 * @throws ExecutionException
cfdb727a 149 * If the command fails
bbb3538a
BH
150 */
151 public void getConfigurationFromNode() throws ExecutionException {
152 getConfigurationFromNode(new NullProgressMonitor());
153 }
cfdb727a 154
bbb3538a 155 /**
cfdb727a
AM
156 * Retrieves the session configuration from the node.
157 *
158 * @param monitor
159 * - a progress monitor
bbb3538a 160 * @throws ExecutionException
cfdb727a 161 * If the command fails
bbb3538a
BH
162 */
163 public void getConfigurationFromNode(IProgressMonitor monitor) throws ExecutionException {
164 TraceSessionComponent session = (TraceSessionComponent) getParent();
165 session.getConfigurationFromNode(monitor);
166 }
cfdb727a 167
bbb3538a 168 /**
cfdb727a
AM
169 * Enables channels with given names which are part of this domain. If a
170 * given channel doesn't exists it creates a new channel with the given
171 * parameters (or default values if given parameter is null).
172 *
173 * @param channelNames
174 * - a list of channel names to enable on this domain
175 * @param info
176 * - channel information to set for the channel (use null for
177 * default)
bbb3538a 178 * @throws ExecutionException
cfdb727a 179 * If the command fails
bbb3538a
BH
180 */
181 public void enableChannels(List<String> channelNames, IChannelInfo info) throws ExecutionException {
182 enableChannels(channelNames, info, new NullProgressMonitor());
183 }
cfdb727a 184
bbb3538a 185 /**
cfdb727a
AM
186 * Enables channels with given names which are part of this domain. If a
187 * given channel doesn't exists it creates a new channel with the given
188 * parameters (or default values if given parameter is null).
189 *
190 * @param channelNames
191 * - a list of channel names to enable on this domain
192 * @param info
193 * - channel information to set for the channel (use null for
194 * default)
195 * @param monitor
196 * - a progress monitor
bbb3538a 197 * @throws ExecutionException
cfdb727a 198 * If the command fails
bbb3538a 199 */
cfdb727a
AM
200 public void enableChannels(List<String> channelNames, IChannelInfo info,
201 IProgressMonitor monitor) throws ExecutionException {
202 getControlService().enableChannels(getParent().getName(), channelNames,
203 isKernel(), info, monitor);
bbb3538a 204 }
cfdb727a 205
bbb3538a 206 /**
cfdb727a
AM
207 * Disables channels with given names which are part of this domain.
208 *
209 * @param channelNames
210 * - a list of channel names to enable on this domain
bbb3538a 211 * @throws ExecutionException
cfdb727a 212 * If the command fails
bbb3538a 213 */
cfdb727a
AM
214 public void disableChannels(List<String> channelNames)
215 throws ExecutionException {
bbb3538a
BH
216 disableChannels(channelNames, new NullProgressMonitor());
217 }
cfdb727a 218
bbb3538a 219 /**
cfdb727a
AM
220 * Disables channels with given names which are part of this domain.
221 *
222 * @param channelNames
223 * - a list of channel names to enable on this domain
224 * @param monitor
225 * - a progress monitor
bbb3538a 226 * @throws ExecutionException
cfdb727a 227 * If the command fails
bbb3538a 228 */
cfdb727a
AM
229 public void disableChannels(List<String> channelNames,
230 IProgressMonitor monitor) throws ExecutionException {
231 getControlService().disableChannels(getParent().getName(),
232 channelNames, isKernel(), monitor);
498704b3
BH
233 }
234
235 /**
236 * Enables a list of events with no additional parameters.
cfdb727a
AM
237 *
238 * @param eventNames
239 * - a list of event names to enabled.
240 * @param monitor
241 * - a progress monitor
498704b3 242 * @throws ExecutionException
cfdb727a 243 * If the command fails
498704b3 244 */
cfdb727a
AM
245 public void enableEvents(List<String> eventNames, IProgressMonitor monitor)
246 throws ExecutionException {
247 getControlService().enableEvents(getSessionName(), null, eventNames,
248 isKernel(), monitor);
498704b3
BH
249 }
250
251 /**
252 * Enables all syscalls (for kernel domain)
cfdb727a 253 *
498704b3 254 * @throws ExecutionException
cfdb727a 255 * If the command fails
498704b3 256 */
cfdb727a 257 public void enableSyscalls() throws ExecutionException {
498704b3
BH
258 enableSyscalls(new NullProgressMonitor());
259 }
260
cfdb727a
AM
261 /**
262 * Enables all syscalls (for kernel domain)
263 *
264 * @param monitor
265 * - a progress monitor
266 * @throws ExecutionException
267 * If the command fails
268 */
498704b3 269
cfdb727a
AM
270 public void enableSyscalls(IProgressMonitor monitor)
271 throws ExecutionException {
498704b3
BH
272 getControlService().enableSyscalls(getSessionName(), null, monitor);
273 }
274
275 /**
276 * Enables a dynamic probe (for kernel domain)
cfdb727a
AM
277 *
278 * @param eventName
279 * - event name for probe
280 * @param isFunction
281 * - true for dynamic function entry/return probe else false
282 * @param probe
283 * - the actual probe
498704b3 284 * @throws ExecutionException
cfdb727a 285 * If the command fails
498704b3 286 */
cfdb727a
AM
287 public void enableProbe(String eventName, boolean isFunction, String probe)
288 throws ExecutionException {
d132bcc7 289 enableProbe(eventName, isFunction, probe, new NullProgressMonitor());
498704b3 290 }
cfdb727a 291
498704b3
BH
292 /**
293 * Enables a dynamic probe (for kernel domain)
cfdb727a
AM
294 *
295 * @param eventName
296 * - event name for probe
297 * @param isFunction
298 * - true for dynamic function entry/return probe else false
299 * @param probe
300 * - the actual probe
301 * @param monitor
302 * - a progress monitor
498704b3 303 * @throws ExecutionException
cfdb727a 304 * If the command fails
498704b3 305 */
cfdb727a
AM
306 public void enableProbe(String eventName, boolean isFunction, String probe,
307 IProgressMonitor monitor) throws ExecutionException {
308 getControlService().enableProbe(getSessionName(), null, eventName,
309 isFunction, probe, monitor);
498704b3
BH
310 }
311
ccc66d01
BH
312 /**
313 * Enables events using log level.
cfdb727a
AM
314 *
315 * @param eventName
316 * - a event name
317 * @param logLevelType
318 * - a log level type
319 * @param level
320 * - a log level
ccc66d01 321 * @throws ExecutionException
cfdb727a 322 * If the command fails
ccc66d01 323 */
cfdb727a
AM
324 public void enableLogLevel(String eventName, LogLevelType logLevelType,
325 TraceLogLevel level) throws ExecutionException {
326 enableLogLevel(eventName, logLevelType, level,
327 new NullProgressMonitor());
ccc66d01
BH
328 }
329
330 /**
331 * Enables events using log level.
cfdb727a
AM
332 *
333 * @param eventName
334 * - a event name
335 * @param logLevelType
336 * - a log level type
337 * @param level
338 * - a log level
339 * @param monitor
340 * - a progress monitor
ccc66d01 341 * @throws ExecutionException
cfdb727a 342 * If the command fails
ccc66d01 343 */
cfdb727a
AM
344 public void enableLogLevel(String eventName, LogLevelType logLevelType,
345 TraceLogLevel level, IProgressMonitor monitor)
346 throws ExecutionException {
347 getControlService().enableLogLevel(getSessionName(), null, eventName,
348 logLevelType, level, monitor);
ccc66d01
BH
349 }
350
b793fbe1
BH
351 /**
352 * Add contexts to given channels and or events
cfdb727a
AM
353 *
354 * @param contexts
355 * - a list of contexts to add
b793fbe1 356 * @throws ExecutionException
cfdb727a 357 * If the command fails
b793fbe1
BH
358 */
359 public void addContexts(List<String> contexts) throws ExecutionException {
360 addContexts(contexts, new NullProgressMonitor());
361 }
362
363 /**
364 * Add contexts to given channels and or events
cfdb727a
AM
365 *
366 * @param contexts
367 * - a list of contexts to add
368 * @param monitor
369 * - a progress monitor
b793fbe1 370 * @throws ExecutionException
cfdb727a 371 * If the command fails
b793fbe1 372 */
cfdb727a
AM
373 public void addContexts(List<String> contexts, IProgressMonitor monitor)
374 throws ExecutionException {
375 getControlService().addContexts(getSessionName(), null, null,
376 isKernel(), contexts, monitor);
b793fbe1 377 }
b720ac44
BH
378
379 /**
380 * Executes calibrate command to quantify LTTng overhead.
cfdb727a 381 *
b720ac44 382 * @throws ExecutionException
cfdb727a 383 * If the command fails
b720ac44
BH
384 */
385 public void calibrate() throws ExecutionException {
386 calibrate(new NullProgressMonitor());
387 }
388
389 /**
390 * Executes calibrate command to quantify LTTng overhead.
cfdb727a
AM
391 *
392 * @param monitor
393 * - a progress monitor
b720ac44 394 * @throws ExecutionException
cfdb727a 395 * If the command fails
b720ac44
BH
396 */
397 public void calibrate(IProgressMonitor monitor) throws ExecutionException {
398 getControlService().calibrate(isKernel(), monitor);
399 }
eb1bab5b 400}
This page took 0.08468 seconds and 5 git commands to generate.