lttng: Move createSession parameters into SessionInfo class
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng2.core / src / org / eclipse / linuxtools / internal / lttng2 / core / control / 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 **********************************************************************/
13 package org.eclipse.linuxtools.internal.lttng2.core.control.model;
14
15 import java.util.List;
16
17 /**
18 * <p>
19 * Interface for retrieval of trace session information.
20 * </p>
21 *
22 * @author Bernd Hufmann
23 */
24 public interface ISessionInfo extends ITraceInfo {
25
26 /**
27 * @return the session state state (active or inactive).
28 */
29 TraceSessionState getSessionState();
30 /**
31 * Sets the session state to the given value.
32 * @param state - state to set.
33 */
34 void setSessionState(TraceSessionState state);
35
36 /**
37 * Sets the event state to the value specified by the given name.
38 * @param stateName - state to set.
39 */
40 void setSessionState(String stateName);
41
42 /**
43 * @return path string where session is located.
44 */
45 String getSessionPath();
46
47 /**
48 * Sets the path string (where session is located) to the given value.
49 * @param path - session path to set.
50 */
51 void setSessionPath(String path);
52
53 /**
54 * @return all domain information as array.
55 */
56 IDomainInfo[] getDomains();
57
58 /**
59 * Sets all domain information specified by given list.
60 * @param domains - all domain information to set.
61 */
62 void setDomains(List<IDomainInfo> domains);
63
64 /**
65 * Adds a single domain information.
66 * @param domainInfo domain information to add.
67 */
68 void addDomain(IDomainInfo domainInfo);
69
70 /**
71 * Returns if session is streamed over network
72 * @return <code>true</code> if streamed over network else <code>false</code>
73 */
74 boolean isStreamedTrace();
75
76 /**
77 * Sets whether the trace is streamed or not
78 * @param isStreamedTrace <code>true</code> if streamed over network else <code>false</code>
79 */
80 void setStreamedTrace(boolean isStreamedTrace);
81
82 /**
83 * Returns whether the session is snapshot session or not
84 * @return <code>true</code> if it is snapshot session else <code>false</code>
85 */
86 boolean isSnapshotSession();
87
88 /**
89 * Set whether or not the session should be in snapshot mode
90 *
91 * @param isSnapshot
92 * true for snapshot mode, false otherwise
93 */
94 void setSnapshot(boolean isSnapshot);
95
96 /**
97 * Gets the snapshot information the session or null if it is not a
98 * snapshot session.
99 * @return snapshot information
100 */
101 ISnapshotInfo getSnapshotInfo();
102
103 /**
104 * Sets the snapshot information of the session
105 * @param setSnapshotInfo - the snapshot data to set.
106 */
107 void setSnapshotInfo(ISnapshotInfo setSnapshotInfo);
108
109 /**
110 * Get the network URL in case control and data is configured together
111 * otherwise null If it returns a non-null value, getControlUrl() and
112 * getDataUrl() have to return null.
113 *
114 * @return The network URL or null.
115 */
116 String getNetworkUrl();
117
118 /**
119 * Set the network URL
120 *
121 * @param networkUrl
122 * the network URL
123 */
124 void setNetworkUrl(String networkUrl);
125
126 /**
127 * Get the control URL in case control and data is configured separately. If
128 * it returns a non-null value, getDataUrl() has to return a valid value too
129 * and getNetworkUrl() has to return null.
130 *
131 * @return The control URL or null.
132 */
133 String getControlUrl();
134
135 /**
136 * Set the control URL
137 *
138 * @param controlUrl
139 * the control URL
140 */
141 void setControlUrl(String controlUrl);
142
143 /**
144 * Get the data URL in case control and data is configured separately. If it
145 * returns a non-null value, getControlUrl() has to return a valid value too
146 * and getNetworkUrl() has to return null.
147 *
148 * @return The data URL or null.
149 */
150 String getDataUrl();
151
152 /**
153 * Set the data URL
154 *
155 * @param datalUrl
156 * the data URL
157 */
158 void setDataUrl(String datalUrl);
159 }
This page took 0.033656 seconds and 5 git commands to generate.