<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension
         id="org.eclipse.linuxtools.lttng2.ui.views"
         point="org.eclipse.ui.views">
      <category
            id="org.eclipse.linuxtools.lttng2.ui.views.category"
            name="%views.category.name">
      </category>
      <view
            allowMultiple="false"
            category="org.eclipse.linuxtools.lttng2.ui.views.category"
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.ControlView"
            icon="icons/eview16/control_view.gif"
            id="org.eclipse.linuxtools.internal.lttng2.ui.views.control"
            name="%control.view.name"
            restorable="true">
      </view>
   </extension>
   
      <extension
         point="org.eclipse.ui.commands">
      <category
            description="%commands.control.category.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            name="%commands.control.category">
      </category>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.new.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.newConnection"
            name="%commands.control.new">
         <commandParameter
               id="org.eclipse.linuxtools.lttng2.control.ui.remoteServicesIdParameter"
               name="%commandParameter.remoteServicesId.name"
               optional="true">
         </commandParameter>
         <commandParameter
               id="org.eclipse.linuxtools.lttng2.control.ui.connectionNameParameter"
               name="%commandParameter.connectionName.name"
               optional="true">
         </commandParameter>
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.connect.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.connect"
            name="%commands.control.connect">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.disconnect.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disconnect"
            name="%commands.control.disconnect">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.refresh.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.refresh"
            name="%commands.control.refresh">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.delete.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.delete"
            name="%commands.control.delete">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.create.session.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.createSession"
            name="%commands.control.create.session">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.execute.command.script.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.executeScript"
            name="%commands.control.execute.command.script">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.destroy.session.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.destroySession"
            name="%commands.control.destroy.session">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.import.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.import"
            name="%commands.control.import">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.enable.channelOnSession.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannelOnSession"
            name="%commands.control.enable.channelOnSession">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.enable.channelOnDomain.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannelOnDomain"
            name="%commands.control.enable.channelOnDomain">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.enable.channel.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannel"
            name="%commands.control.enable.channel">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.disable.channel.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableChannel"
            name="%commands.control.disable.channel">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.start.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.start"
            name="%commands.control.start">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.stop.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.stop"
            name="%commands.control.stop">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.assign.event.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.assign.event"
            name="%commands.control.assign.event">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.enable.event.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEvent"
            name="%commands.control.enable.event">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.disable.event.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableEvent"
            name="%commands.control.disable.event">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.enable.eventOnChannel.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnChannel"
            name="%commands.control.enable.eventOnChannel">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.enable.eventOnDomain.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnDomain"
            name="%commands.control.enable.eventOnDomain">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.enable.eventOnSession.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnSession"
            name="%commands.control.enable.eventOnSession">
      </command>

      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.add.context.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnDomain"
            name="%commands.control.add.context">
      </command>

      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.add.context.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnChannel"
            name="%commands.control.add.context">
      </command>

      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.add.context.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnEvent"
            name="%commands.control.add.context">
      </command>

      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.import.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.import"
            name="%commands.control.import">
      </command>

      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.snapshot.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.snapshot"
            name="%commands.control.snapshot">
      </command>

      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.load.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.load"
            name="%commands.control.load">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.save.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.save"
            name="%commands.control.save">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.enable.logger.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableLogger"
            name="%commands.control.enable.logger">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.disable.logger.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableLogger"
            name="%commands.control.disable.logger">
      </command>
      <command
            categoryId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.category"
            description="%commands.control.assign.logger.description"
            id="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.assign.logger"
            name="%commands.control.assign.logger">
      </command>

   </extension>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            allPopups="false"
            locationURI="toolbar:org.eclipse.linuxtools.internal.lttng2.ui.views.control">
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.newConnection"
               icon="icons/elcl16/target_add.gif"
               label="%commands.control.new"
               style="push">
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.connect"
               icon="icons/elcl16/connect.gif"
               label="%commands.control.connect"
               style="push">
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disconnect"
               icon="icons/elcl16/disconnect.gif"
               label="%commands.control.disconnect"
               style="push">
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.refresh"
               icon="icons/elcl16/refresh.gif"
               label="%commands.control.refresh"
               style="push">
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.delete"
               icon="icons/elcl16/target_delete.gif"
               label="%commands.control.delete"
               style="push">
         </command>
         <separator
               name="org.eclipse.linuxtools.internal.lttng2.ui.views.control.toolbar.separator1"
               visible="true">
         </separator>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.start"
               icon="icons/elcl16/start_trace.gif"
               label="%commands.control.start"
               style="push">
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.stop"
               icon="icons/elcl16/pause_trace.gif"
               label="%commands.control.stop"
               style="push">
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.destroySession"
               icon="icons/elcl16/delete_trace.gif"
               label="%commands.control.destroy.session"
               style="push">
         </command>
         <separator
               name="org.eclipse.linuxtools.internal.lttng2.ui.views.control.toolbar.separator2"
               visible="true">
         </separator>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.snapshot"
               icon="icons/elcl16/snapshot.gif"
               label="%commands.control.snapshot"
               style="push">
         </command>
         <separator
               name="org.eclipse.linuxtools.internal.lttng2.ui.views.control.toolbar.separator3"
               visible="true">
         </separator>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.import"
               icon="icons/elcl16/import_trace.gif"
               label="%commands.control.import"
               style="push">
         </command>
         
      </menuContribution>
      <menuContribution
            allPopups="false"
            locationURI="popup:org.eclipse.linuxtools.internal.lttng2.ui.views.control">
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.connect"
               icon="icons/elcl16/connect.gif"
               label="%commands.control.connect"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disconnect"
               icon="icons/elcl16/disconnect.gif"
               label="%commands.control.disconnect"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.refresh"
               icon="icons/elcl16/refresh.gif"
               label="%commands.control.refresh"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceControlComponent">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.delete"
               icon="icons/elcl16/target_delete.gif"
               label="%commands.control.delete"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.createSession"
               icon="icons/elcl16/add_button.gif"
               label="%commands.control.create.session"
               style="push">
            <visibleWhen
                  checkEnabled="true">
               <with
                     variable="activeMenuSelection">
                  <and>
                    <iterate
                         operator="or">
                         <instanceof
                               value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup">
                         </instanceof>
                      </iterate>
                      <count
                           value="1">
                      </count>
                  </and>   
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.load"
               icon="icons/elcl16/import_button.png"
               label="%commands.control.load"
               style="push">
            <visibleWhen
                  checkEnabled="true">
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.executeScript"
               icon="icons/elcl16/add_button.gif"
               label="%commands.control.execute.command.script"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.start"
               icon="icons/elcl16/start_trace.gif"
               label="%commands.control.start"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.stop"
               icon="icons/elcl16/pause_trace.gif"
               label="%commands.control.stop"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.destroySession"
               icon="icons/elcl16/delete_trace.gif"
               label="%commands.control.destroy.session"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
         <separator
               name="org.eclipse.linuxtools.internal.lttng2.ui.views.control.popup.separator1"
               visible="true">
         </separator>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.import"
               icon="icons/elcl16/import_trace.gif"
               label="%commands.control.import"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <and>
                    <iterate
                         operator="or">
                         <instanceof
                               value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                         </instanceof>
                      </iterate>
                      <count
                           value="1">
                      </count>
                  </and>   
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.save"
               icon="icons/elcl16/export_button.png"
               label="%commands.control.save"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                    <iterate
                         operator="or">
                         <instanceof
                               value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                         </instanceof>
                      </iterate>
               </with>
            </visibleWhen>
         </command>
         <separator
               name="org.eclipse.linuxtools.internal.lttng2.ui.views.control.popup.separator2"
               visible="true">
         </separator>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannelOnSession"
               icon="icons/elcl16/add_button.gif"
               label="%commands.control.enable.channelOnSession"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <and>
                     <iterate
                           operator="or">
                        <instanceof
                              value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                        </instanceof>
                     </iterate>
                     <not>
                        <iterate
                              operator="or">
                           <instanceof
                                 value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
                           </instanceof>
                        </iterate>
                     </not>
                     <count
                           value="1">
                     </count>
                  </and>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnSession"
               icon="icons/obj16/event_enabled.gif"
               label="%commands.control.enable.eventOnDomain"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <and>
                     <iterate
                           operator="or">
                        <instanceof
                              value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                        </instanceof>
                     </iterate>
                     <count
                           value="1">
                     </count>
                  </and>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannelOnDomain"
               icon="icons/elcl16/add_button.gif"
               label="%commands.control.enable.channelOnDomain"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <and>
                     <iterate
                           operator="or">
                        <instanceof
                              value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
                        </instanceof>
                     </iterate>
                        <not>
                           <iterate
                                 operator="or">
                              <instanceof
                                    value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                              </instanceof>
                           </iterate>
                        </not>
                        <count
                              value="1">
                        </count>
                  </and>
               </with>
               </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnDomain"
               icon="icons/elcl16/enable_event.gif"
               label="%commands.control.enable.eventOnDomain"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <and>
                     <iterate
                           operator="or">
                        <instanceof
                              value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
                        </instanceof>
                     </iterate>
                     <count
                           value="1">
                     </count>
                  </and>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannel"
               icon="icons/elcl16/enable.gif"
               label="%commands.control.enable.channel"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableChannel"
               icon="icons/elcl16/disable.gif"
               label="%commands.control.disable.channel"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>

         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.assign.event"
               icon="icons/elcl16/enable_event.gif"
               label="%commands.control.assign.event"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <or>
                     <iterate
                           ifEmpty="false"
                           operator="and">
                        <instanceof
                              value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.BaseEventComponent">
                        </instanceof>
                     </iterate>
                  </or>
               </with>
            </visibleWhen>
         </command>

         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEvent"
               icon="icons/elcl16/enable_event.gif"
               label="%commands.control.enable.event"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceEventComponent">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>

         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableEvent"
               icon="icons/elcl16/disable_event.gif"
               label="%commands.control.disable.event"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceEventComponent">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnChannel"
               icon="icons/elcl16/enable_event.gif"
               label="%commands.control.enable.eventOnChannel"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <and>
                     <iterate
                           operator="or">
                        <instanceof
                              value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
                        </instanceof>
                     </iterate>
                     <count
                           value="1">
                     </count>
                  </and>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnDomain"
               icon="icons/elcl16/add-context.gif"
               label="%commands.control.add.context"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <and>
                     <iterate
                           operator="or">
                        <instanceof
                              value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
                        </instanceof>
                     </iterate>
                     <count
                           value="1">
                     </count>
                  </and>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnChannel"
               icon="icons/elcl16/add-context.gif"
               label="%commands.control.add.context"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <and>
                     <iterate
                           operator="or">
                        <instanceof
                              value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
                        </instanceof>
                     </iterate>
                     <count
                           value="1">
                     </count>
                  </and>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnEvent"
               icon="icons/elcl16/add-context.gif"
               label="%commands.control.add.context"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <and>
                     <count
                           value="1">
                     </count>
                     <iterate
                           ifEmpty="false"
                           operator="and">
                        <and>
                           <or>
                              <instanceof
                                    value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceEventComponent">
                              </instanceof>
                           </or>
                           <test
                                 forcePluginActivation="true"
                                 property="org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.isAddContextOnEventSupported">
                           </test>
                        </and>
                     </iterate>
                  </and>
               </with>
            </visibleWhen>
         </command>

         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.snapshot"
               icon="icons/elcl16/snapshot.gif"
               label="%commands.control.snapshot"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                  variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableLogger"
               icon="icons/obj16/logger_enabled.gif"
               label="%commands.control.enable.logger"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceLoggerComponent">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableLogger"
               icon="icons/elcl16/disable_event.gif"
               label="%commands.control.disable.logger"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceLoggerComponent">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.assign.logger"
               icon="icons/obj16/logger_enabled.gif"
               label="%commands.control.assign.logger"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="activeMenuSelection">
                  <or>
                     <iterate>
                        <instanceof
                              value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.BaseLoggerComponent">
                        </instanceof>
                     </iterate>
                  </or>
               </with>
            </visibleWhen>
         </command>

      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.NewConnectionHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.newConnection">
         <activeWhen>
            <with
                  variable="activePart">
               <instanceof
                     value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.ControlView">
               </instanceof>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.ConnectHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.connect">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.DisconnectHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disconnect">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.RefreshHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.refresh">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceControlComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.DeleteHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.delete">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.CreateSessionHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.createSession">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.LoadHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.load">
         <activeWhen>
            <with
                  variable="selection">
               <and>   
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup">
                     </instanceof>
                  </iterate>
                  <count
                        value="1">
                  </count>
               </and>
            </with>
        </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.ExecuteCommandScriptHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.executeScript">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionGroup">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.DestroySessionHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.destroySession">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.ImportHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.import">
         <activeWhen>
            <with
                  variable="selection">
               <and>   
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                     </instanceof>
                  </iterate>
                  <count
                        value="1">
                  </count>
               </and>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.SaveHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.save">
         <activeWhen>
            <with
                  variable="selection">
                  <iterate
                        operator="or">
                     <instanceof
                           value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                     </instanceof>
                  </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.EnableChannelOnSessionHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannelOnSession">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.EnableChannelOnDomainHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannelOnDomain">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.EnableChannelHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableChannel">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.DisableChannelHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableChannel">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.StartHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.start">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>

      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.StopHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.stop">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>

      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.SnapshotHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.snapshot">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>


      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.AssignEventHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.assign.event">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.BaseEventComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>

      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.EnableEventHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEvent">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceEventComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>

      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.DisableEventHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableEvent">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceEventComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>

      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.EnableEventOnChannelHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnChannel">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>

      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.EnableEventOnDomainHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnDomain">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.EnableEventOnSessionHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableEventOnSession">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceSessionComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.AddContextOnDomainHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnDomain">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceDomainComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>

      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.AddContextOnChannelHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnChannel">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceChannelComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>

      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.AddContextOnEventHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.addContextOnEvent">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceEventComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.EnableLoggerHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.enableLogger">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceLoggerComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.DisableLoggerHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.disableLogger">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceLoggerComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.handlers.AssignLoggerHandler"
            commandId="org.eclipse.linuxtools.internal.lttng2.ui.commands.control.assign.logger">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     operator="or">
                  <instanceof
                        value="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.BaseLoggerComponent">
                  </instanceof>
               </iterate>
            </with>
         </activeWhen>
      </handler>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            category="org.eclipse.linuxtools.tmf.ui.TmfTracingPreferences"
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.preferences.ControlPreferencePage"
            id="org.eclipse.linuxtools.internal.lttng2.ui.views.control.preferences"
            name="%preference.page.control.name">
      </page>
      <page
            category="org.eclipse.linuxtools.tmf.ui.TmfTracingPreferences"
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.preferences.ControlRemoteProfilesPreferencePage"
            id="org.eclipse.tracecompass.internal.lttng2.control.ui.views.preferences.ControlRemoteProfilesPreferencePage"
            name="%preferences.page.remote.profiles.name">
      </page>
   </extension>
   <extension
         point="org.eclipse.core.runtime.preferences">
      <initializer
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.preferences.ControlPreferenceInitializer">
      </initializer>
   </extension>
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceControlPropertyTester"
            id="org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.propertyTester"
            namespace="org.eclipse.linuxtools.internal.lttng2.ui.views.control.model"
            properties="isAddContextOnEventSupported"
            type="org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TraceControlComponent">
      </propertyTester>
   </extension>
   
   
</plugin>
