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
1 /**********************************************************************
2 * Copyright (c) 2012 Ericsson
3 *
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
8 *
9 * Contributors:
10 * Bernd Hufmann - Initial API and implementation
11 **********************************************************************/
12 package org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl;
13
14 import java.util.List;
15
16 import org.eclipse.core.commands.ExecutionException;
17 import org.eclipse.core.runtime.IProgressMonitor;
18 import org.eclipse.core.runtime.NullProgressMonitor;
19 import org.eclipse.linuxtools.internal.lttng2.core.control.model.IChannelInfo;
20 import org.eclipse.linuxtools.internal.lttng2.core.control.model.IDomainInfo;
21 import org.eclipse.linuxtools.internal.lttng2.core.control.model.LogLevelType;
22 import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceLogLevel;
23 import org.eclipse.linuxtools.internal.lttng2.core.control.model.impl.DomainInfo;
24 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.messages.Messages;
25 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.ITraceControlComponent;
26 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.property.TraceDomainPropertySource;
27 import org.eclipse.ui.views.properties.IPropertySource;
28
29 /**
30 * <p>
31 * Implementation of the trace domain component.
32 * </p>
33 *
34 * @author Bernd Hufmann
35 */
36 public 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 */
51 private IDomainInfo fDomainInfo = null;
52
53 // ------------------------------------------------------------------------
54 // Constructors
55 // ------------------------------------------------------------------------
56 /**
57 * Constructor
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
85 /*
86 * (non-Javadoc)
87 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceControlComponent#getAdapter(java.lang.Class)
88 */
89 @Override
90 public Object getAdapter(Class adapter) {
91 if (adapter == IPropertySource.class) {
92 return new TraceDomainPropertySource(this);
93 }
94 return null;
95 }
96
97 /**
98 * @return session name from parent
99 */
100 public String getSessionName() {
101 return ((TraceSessionComponent)getParent()).getName();
102 }
103
104 /**
105 * @return session from parent
106 */
107 public TraceSessionComponent getSession() {
108 return (TraceSessionComponent)getParent();
109 }
110
111 /**
112 * @return true if domain is kernel, false for UST
113 */
114 public boolean isKernel() {
115 return fDomainInfo.isKernel();
116 }
117
118 /**
119 * Sets whether domain is Kernel domain or UST
120 * @param isKernel true for kernel, false for UST
121 */
122 public void setIsKernel(boolean isKernel) {
123 fDomainInfo.setIsKernel(isKernel);
124 }
125
126 /**
127 * @return returns all available channels for this domain.
128 */
129 public TraceChannelComponent[] getChannels() {
130 List<ITraceControlComponent> channels = getChildren(TraceChannelComponent.class);
131 return channels.toArray(new TraceChannelComponent[channels.size()]);
132 }
133
134 /**
135 * @return the parent target node
136 */
137 public TargetNodeComponent getTargetNode() {
138 return ((TraceSessionComponent)getParent()).getTargetNode();
139 }
140
141 // ------------------------------------------------------------------------
142 // Operations
143 // ------------------------------------------------------------------------
144
145 /**
146 * Retrieves the session configuration from the node.
147 *
148 * @throws ExecutionException
149 * If the command fails
150 */
151 public void getConfigurationFromNode() throws ExecutionException {
152 getConfigurationFromNode(new NullProgressMonitor());
153 }
154
155 /**
156 * Retrieves the session configuration from the node.
157 *
158 * @param monitor
159 * - a progress monitor
160 * @throws ExecutionException
161 * If the command fails
162 */
163 public void getConfigurationFromNode(IProgressMonitor monitor) throws ExecutionException {
164 TraceSessionComponent session = (TraceSessionComponent) getParent();
165 session.getConfigurationFromNode(monitor);
166 }
167
168 /**
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)
178 * @throws ExecutionException
179 * If the command fails
180 */
181 public void enableChannels(List<String> channelNames, IChannelInfo info) throws ExecutionException {
182 enableChannels(channelNames, info, new NullProgressMonitor());
183 }
184
185 /**
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
197 * @throws ExecutionException
198 * If the command fails
199 */
200 public void enableChannels(List<String> channelNames, IChannelInfo info,
201 IProgressMonitor monitor) throws ExecutionException {
202 getControlService().enableChannels(getParent().getName(), channelNames,
203 isKernel(), info, monitor);
204 }
205
206 /**
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
211 * @throws ExecutionException
212 * If the command fails
213 */
214 public void disableChannels(List<String> channelNames)
215 throws ExecutionException {
216 disableChannels(channelNames, new NullProgressMonitor());
217 }
218
219 /**
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
226 * @throws ExecutionException
227 * If the command fails
228 */
229 public void disableChannels(List<String> channelNames,
230 IProgressMonitor monitor) throws ExecutionException {
231 getControlService().disableChannels(getParent().getName(),
232 channelNames, isKernel(), monitor);
233 }
234
235 /**
236 * Enables a list of events with no additional parameters.
237 *
238 * @param eventNames
239 * - a list of event names to enabled.
240 * @param monitor
241 * - a progress monitor
242 * @throws ExecutionException
243 * If the command fails
244 */
245 public void enableEvents(List<String> eventNames, IProgressMonitor monitor)
246 throws ExecutionException {
247 getControlService().enableEvents(getSessionName(), null, eventNames,
248 isKernel(), monitor);
249 }
250
251 /**
252 * Enables all syscalls (for kernel domain)
253 *
254 * @throws ExecutionException
255 * If the command fails
256 */
257 public void enableSyscalls() throws ExecutionException {
258 enableSyscalls(new NullProgressMonitor());
259 }
260
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 */
269
270 public void enableSyscalls(IProgressMonitor monitor)
271 throws ExecutionException {
272 getControlService().enableSyscalls(getSessionName(), null, monitor);
273 }
274
275 /**
276 * Enables a dynamic probe (for kernel domain)
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
284 * @throws ExecutionException
285 * If the command fails
286 */
287 public void enableProbe(String eventName, boolean isFunction, String probe)
288 throws ExecutionException {
289 enableProbe(eventName, isFunction, probe, new NullProgressMonitor());
290 }
291
292 /**
293 * Enables a dynamic probe (for kernel domain)
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
303 * @throws ExecutionException
304 * If the command fails
305 */
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);
310 }
311
312 /**
313 * Enables events using log level.
314 *
315 * @param eventName
316 * - a event name
317 * @param logLevelType
318 * - a log level type
319 * @param level
320 * - a log level
321 * @throws ExecutionException
322 * If the command fails
323 */
324 public void enableLogLevel(String eventName, LogLevelType logLevelType,
325 TraceLogLevel level) throws ExecutionException {
326 enableLogLevel(eventName, logLevelType, level,
327 new NullProgressMonitor());
328 }
329
330 /**
331 * Enables events using log level.
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
341 * @throws ExecutionException
342 * If the command fails
343 */
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);
349 }
350
351 /**
352 * Add contexts to given channels and or events
353 *
354 * @param contexts
355 * - a list of contexts to add
356 * @throws ExecutionException
357 * If the command fails
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
365 *
366 * @param contexts
367 * - a list of contexts to add
368 * @param monitor
369 * - a progress monitor
370 * @throws ExecutionException
371 * If the command fails
372 */
373 public void addContexts(List<String> contexts, IProgressMonitor monitor)
374 throws ExecutionException {
375 getControlService().addContexts(getSessionName(), null, null,
376 isKernel(), contexts, monitor);
377 }
378
379 /**
380 * Executes calibrate command to quantify LTTng overhead.
381 *
382 * @throws ExecutionException
383 * If the command fails
384 */
385 public void calibrate() throws ExecutionException {
386 calibrate(new NullProgressMonitor());
387 }
388
389 /**
390 * Executes calibrate command to quantify LTTng overhead.
391 *
392 * @param monitor
393 * - a progress monitor
394 * @throws ExecutionException
395 * If the command fails
396 */
397 public void calibrate(IProgressMonitor monitor) throws ExecutionException {
398 getControlService().calibrate(isKernel(), monitor);
399 }
400 }
This page took 0.039765 seconds and 6 git commands to generate.