lttng: Move plugins to the Trace Compass namespace
[deliverable/tracecompass.git] / org.eclipse.tracecompass.lttng2.control.core / src / org / eclipse / linuxtools / internal / lttng2 / control / core / model / ISessionInfo.java
1 /**********************************************************************
2 * Copyright (c) 2012, 2013 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 * Bernd Hufmann - Updated for support of LTTng Tools 2.1
12 * Marc-Andre Laperle - Support for creating a live session
13 **********************************************************************/
14 package org.eclipse.linuxtools.internal.lttng2.control.core.model;
15
16 import java.util.List;
17
18 /**
19 * <p>
20 * Interface for retrieval of trace session information.
21 * </p>
22 *
23 * @author Bernd Hufmann
24 */
25 public interface ISessionInfo extends ITraceInfo {
26
27 /**
28 * @return the session state state (active or inactive).
29 */
30 TraceSessionState getSessionState();
31 /**
32 * Sets the session state to the given value.
33 * @param state - state to set.
34 */
35 void setSessionState(TraceSessionState state);
36
37 /**
38 * Sets the event state to the value specified by the given name.
39 * @param stateName - state to set.
40 */
41 void setSessionState(String stateName);
42
43 /**
44 * @return path string where session is located.
45 */
46 String getSessionPath();
47
48 /**
49 * Sets the path string (where session is located) to the given value.
50 * @param path - session path to set.
51 */
52 void setSessionPath(String path);
53
54 /**
55 * @return all domain information as array.
56 */
57 IDomainInfo[] getDomains();
58
59 /**
60 * Sets all domain information specified by given list.
61 * @param domains - all domain information to set.
62 */
63 void setDomains(List<IDomainInfo> domains);
64
65 /**
66 * Adds a single domain information.
67 * @param domainInfo domain information to add.
68 */
69 void addDomain(IDomainInfo domainInfo);
70
71 /**
72 * Returns if session is streamed over network
73 * @return <code>true</code> if streamed over network else <code>false</code>
74 */
75 boolean isStreamedTrace();
76
77 /**
78 * Sets whether the trace is streamed or not
79 * @param isStreamedTrace <code>true</code> if streamed over network else <code>false</code>
80 */
81 void setStreamedTrace(boolean isStreamedTrace);
82
83 /**
84 * Returns whether the session is snapshot session or not
85 * @return <code>true</code> if it is snapshot session else <code>false</code>
86 */
87 boolean isSnapshotSession();
88
89 /**
90 * Set whether or not the session should be in snapshot mode
91 *
92 * @param isSnapshot
93 * true for snapshot mode, false otherwise
94 */
95 void setSnapshot(boolean isSnapshot);
96
97 /**
98 * Gets the snapshot information the session or null if it is not a
99 * snapshot session.
100 * @return snapshot information
101 */
102 ISnapshotInfo getSnapshotInfo();
103
104 /**
105 * Sets the snapshot information of the session
106 * @param setSnapshotInfo - the snapshot data to set.
107 */
108 void setSnapshotInfo(ISnapshotInfo setSnapshotInfo);
109
110 /**
111 * Get whether or not the session should be in Live mode
112 *
113 * @return <code>true</code> if is a live session else <code>false</code>
114 */
115 public boolean isLive();
116
117 /**
118 * Set whether or not the session should be in Live mode
119 *
120 * @param isLive
121 * true for Live mode, false otherwise
122 */
123 public void setLive(boolean isLive);
124
125 /**
126 * Get the live delay which is the delay in micro seconds before the data is
127 * flushed and streamed.
128 *
129 * @return the live delay or -1 if the default value should be used
130 */
131 public int getLiveDelay();
132
133 /**
134 * Set the live delay which is the delay in micro seconds before the data is
135 * flushed and streamed.
136 *
137 * @param liveDelay
138 * the live delay
139 */
140 public void setLiveDelay(int liveDelay);
141
142 /**
143 * Get the network URL in case control and data is configured together
144 * otherwise null If it returns a non-null value, getControlUrl() and
145 * getDataUrl() have to return null.
146 *
147 * @return The network URL or null.
148 */
149 String getNetworkUrl();
150
151 /**
152 * Set the network URL
153 *
154 * @param networkUrl
155 * the network URL
156 */
157 void setNetworkUrl(String networkUrl);
158
159 /**
160 * Get the control URL in case control and data is configured separately. If
161 * it returns a non-null value, getDataUrl() has to return a valid value too
162 * and getNetworkUrl() has to return null.
163 *
164 * @return The control URL or null.
165 */
166 String getControlUrl();
167
168 /**
169 * Set the control URL
170 *
171 * @param controlUrl
172 * the control URL
173 */
174 void setControlUrl(String controlUrl);
175
176 /**
177 * Get the data URL in case control and data is configured separately. If it
178 * returns a non-null value, getControlUrl() has to return a valid value too
179 * and getNetworkUrl() has to return null.
180 *
181 * @return The data URL or null.
182 */
183 String getDataUrl();
184
185 /**
186 * Set the data URL
187 *
188 * @param datalUrl
189 * the data URL
190 */
191 void setDataUrl(String datalUrl);
192
193 /**
194 * Get the live URL.
195 *
196 * @return the live URL
197 */
198 String getLiveUrl();
199
200 /**
201 * Set the live URL.
202 *
203 * @param liveUrl
204 * the live URL
205 */
206 void setLiveUrl(String liveUrl);
207
208 /**
209 * Get the live port.
210 *
211 * @return the live port
212 */
213 Integer getLivePort();
214
215 /**
216 * Set the live port.
217 *
218 * @param livePort
219 * the live port
220 */
221 void setLivePort(Integer livePort);
222 }
This page took 0.042584 seconds and 5 git commands to generate.