X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=org.eclipse.linuxtools.lttng2.ui%2Fsrc%2Forg%2Feclipse%2Flinuxtools%2Finternal%2Flttng2%2Fui%2Fviews%2Fcontrol%2Fmodel%2Fimpl%2FTraceSessionComponent.java;h=471c60cc5af287c10c3e62075ef863d34a741724;hb=589d0d33fc0d2bdc75f4d2bd06fbe48e991acc45;hp=86de1fa590a9e2c00e565fe5211a2036ee22562b;hpb=f606c6fa12f6c2c466be30d1b27328b7581eaba8;p=deliverable%2Ftracecompass.git
diff --git a/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/model/impl/TraceSessionComponent.java b/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/model/impl/TraceSessionComponent.java
index 86de1fa590..471c60cc5a 100644
--- a/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/model/impl/TraceSessionComponent.java
+++ b/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/model/impl/TraceSessionComponent.java
@@ -19,6 +19,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.linuxtools.internal.lttng2.core.control.model.IChannelInfo;
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.LogLevelType;
import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceLogLevel;
import org.eclipse.linuxtools.internal.lttng2.core.control.model.TraceSessionState;
@@ -178,6 +179,22 @@ public class TraceSessionComponent extends TraceControlComponent {
fSessionInfo.setStreamedTrace(isStreamedTrace);
}
+ /**
+ * Returns whether the session is snapshot session or not
+ * @return true
if it is snapshot session else false
+ */
+ public boolean isSnapshotSession() {
+ return fSessionInfo.isSnapshotSession();
+ }
+
+ /**
+ * Gets the snapshot information if available whether the session is a snapshot session or not
+ * @return the snapshot information or null if it is not a snapshot session
+ */
+ public ISnapshotInfo getSnapshotInfo() {
+ return fSessionInfo.getSnapshotInfo();
+ }
+
@Override
public Object getAdapter(Class adapter) {
if (adapter == IPropertySource.class) {
@@ -218,6 +235,15 @@ public class TraceSessionComponent extends TraceControlComponent {
return ((TargetNodeComponent)getParent().getParent()).isEventFilteringSupported();
}
+ /**
+ * Returns if node supports snapshots or not
+ * @return true
if it supports snapshots else false
+ *
+ */
+ public boolean isSnapshotSupported() {
+ return ((TargetNodeComponent)getParent().getParent()).isSnapshotSupported();
+ }
+
// ------------------------------------------------------------------------
// Operations
// ------------------------------------------------------------------------
@@ -234,6 +260,7 @@ public class TraceSessionComponent extends TraceControlComponent {
throws ExecutionException {
removeAllChildren();
fSessionInfo = getControlService().getSession(getName(), monitor);
+
IDomainInfo[] domains = fSessionInfo.getDomains();
for (int i = 0; i < domains.length; i++) {
TraceDomainComponent domainComponent = new TraceDomainComponent(
@@ -381,4 +408,16 @@ public class TraceSessionComponent extends TraceControlComponent {
throws ExecutionException {
return getControlService().getContextList(monitor);
}
+
+ /**
+ * Records a snapshot.
+ *
+ * @param monitor
+ * - a progress monitor
+ * @throws ExecutionException
+ * If the command fails
+ */
+ public void recordSnapshot(IProgressMonitor monitor) throws ExecutionException {
+ getControlService().recordSnapshot(getName(), monitor);
+ }
}