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); + } }