import org.eclipse.linuxtools.internal.lttng2.core.control.model.IDomainInfo;
import org.eclipse.linuxtools.internal.lttng2.core.control.model.ISessionInfo;
+import org.eclipse.linuxtools.internal.lttng2.core.control.model.ISnapshotInfo;
import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceSessionState;
/**
* Flag to indicate whether trace is streamed over network or not.
*/
private boolean fIsStreamedTrace = false;
+ /**
+ * Flag to indicate whether the session is a snapshot session or not.
+ */
+ private ISnapshotInfo fSnapshotInfo = null;
+
// ------------------------------------------------------------------------
// Constructors
fState = other.fState;
fSessionPath = other.fSessionPath;
fIsStreamedTrace = other.fIsStreamedTrace;
+ fSnapshotInfo = other.fSnapshotInfo;
for (Iterator<IDomainInfo> iterator = other.fDomains.iterator(); iterator.hasNext();) {
IDomainInfo domain = iterator.next();
@Override
public String getSessionPath() {
+ if(isSnapshotSession()) {
+ return fSnapshotInfo.getSnapshotPath();
+ }
return fSessionPath;
}
@Override
public boolean isStreamedTrace() {
+ if (isSnapshotSession()) {
+ return fSnapshotInfo.isStreamedSnapshot();
+ }
return fIsStreamedTrace;
}
fIsStreamedTrace = isStreamedTrace;
}
- // ------------------------------------------------------------------------
- // Operations
- // ------------------------------------------------------------------------
+ @Override
+ public boolean isSnapshotSession() {
+ return fSnapshotInfo != null;
+ }
@Override
- public void addDomain(IDomainInfo domainInfo) {
- fDomains.add(domainInfo);
+ public ISnapshotInfo getSnapshotInfo() {
+ return fSnapshotInfo;
}
@Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + fDomains.hashCode();
- result = prime * result + (fIsStreamedTrace ? 1231 : 1237);
- result = prime * result + ((fSessionPath == null) ? 0 : fSessionPath.hashCode());
- result = prime * result + ((fState == null) ? 0 : fState.hashCode());
- return result;
+ public void setSnapshotInfo(ISnapshotInfo info) {
+ fSnapshotInfo = info;
}
+ // ------------------------------------------------------------------------
+ // Operations
+ // ------------------------------------------------------------------------
+
@Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- SessionInfo other = (SessionInfo) obj;
- if (!fDomains.equals(other.fDomains)) {
- return false;
- }
- if (fIsStreamedTrace != other.fIsStreamedTrace) {
- return false;
- }
- if (fSessionPath == null) {
- if (other.fSessionPath != null) {
- return false;
- }
- } else if (!fSessionPath.equals(other.fSessionPath)) {
- return false;
- }
- if (fState != other.fState) {
- return false;
- }
- return true;
+ public void addDomain(IDomainInfo domainInfo) {
+ fDomains.add(domainInfo);
}
+
@SuppressWarnings("nls")
@Override
public String toString() {
StringBuffer output = new StringBuffer();
output.append("[SessionInfo(");
output.append(super.toString());
+ output.append(",Path=");
+ output.append(getSessionPath());
output.append(",State=");
output.append(fState);
output.append(",isStreamedTrace=");
output.append(fIsStreamedTrace);
+ if (fSnapshotInfo != null) {
+ output.append(",snapshotInfo=");
+ output.append(fSnapshotInfo.toString());
+ }
output.append(",Domains=");
for (Iterator<IDomainInfo> iterator = fDomains.iterator(); iterator.hasNext();) {
IDomainInfo domain = iterator.next();