Skip to main content
aboutsummaryrefslogblamecommitdiffstats
blob: b6ddf7a2ac2b17bb7428f9aab24460c68de3fa04 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15














                                                                                       
                                                                                     


                                                                                                    
                                                                                     




                                                                                                    
                                                                                     
                                                                                    

                
                                                                                             

                                                                                                    
                                                                                    







                                                                                    
                                                                                      





                                                                   
                                                                                   

                                                                          
                                                                                                                                                                                       
                                                                             


                       
                                                                                   

                                                                           
                                                                                                                                                                               



                                                  







                                                                                                                                                                               



                                                                                   
                                                                             
































                                                                                           

                                                                                                         














                                                                        
                                                                                   




                                                                                                



                                                                                              

                      
 
              
                                                                                   





                                                                                              
                                                                                           



                                                                                                                








                                                                                                                


























                                                                           


                                                                         



                                                                           






                                                                    







                                                                                     




                                                                        
                                                                                    
                                                                                  


                                                                        
                                                                               





                                                                    



                                                                        
                                                                               


                                                                              


                                                                        



                      




























                                                                               
                                                                               



                      







                                                                                       






                                                                             


                                                                                      

                                                                             
                        



                      



                                                               
                                                                

                                                                    
                                                                                 

                                                                                            

                                                                       



                                                         
                                                                







                                                                                    
                                                                










                                                                                       
                                                                          

                                                              
                                                                                 







                                                                                                     
                                                                          







                                                                                    
                                                                          











                                                                                       
         
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>

<!-- Protocol state change listener contributions -->
   <extension point="org.eclipse.tcf.te.tcf.core.listeners">
      <protocolStateChangeListener
            class="org.eclipse.tcf.te.tcf.locator.listener.ProtocolStateChangeListener"
            id="org.eclipse.tcf.te.tcf.locator.protocolStateChangeListener">
      </protocolStateChangeListener>
   </extension>

<!-- Adapter factory contributions -->
   <extension point="org.eclipse.core.runtime.adapters">
      <factory
            adaptableType="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode"
            class="org.eclipse.tcf.te.tcf.locator.internal.adapters.AdapterFactory">
         <adapter type="org.eclipse.tcf.te.runtime.persistence.interfaces.IPersistableURIProvider"/>
         <adapter type="org.eclipse.tcf.te.runtime.stepper.interfaces.IStepContext"/>
         <adapter type="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel"/>
      </factory>
      <factory
            adaptableType="org.eclipse.tcf.protocol.IPeer"
            class="org.eclipse.tcf.te.tcf.locator.internal.adapters.AdapterFactory">
         <adapter type="org.eclipse.tcf.te.runtime.persistence.interfaces.IPersistableURIProvider"/>
         <adapter type="org.eclipse.tcf.te.runtime.stepper.interfaces.IStepContext"/>
         <adapter type="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode"/>
      </factory>
      <factory
            adaptableType="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNodeProvider"
            class="org.eclipse.tcf.te.tcf.locator.internal.adapters.AdapterFactory">
         <adapter type="org.eclipse.tcf.te.runtime.persistence.interfaces.IPersistableURIProvider"/>
         <adapter type="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode"/>
      </factory>
   </extension>

<!-- Model node factory delegate contributions -->
   <extension point="org.eclipse.tcf.te.runtime.model.factoryDelegates">
      <delegate
            class="org.eclipse.tcf.te.tcf.locator.internal.ModelNodeFactoryDelegate"
            id="org.eclipse.tcf.te.tcf.locator.model.factory.delegate">
         <nodeType class="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode"/>
      </delegate>
   </extension>

<!-- Eclipse core expressions property tester -->
   <extension point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.tcf.te.tcf.locator.internal.PeerModelPropertyTester"
            id="org.eclipse.tcf.te.tcf.locator.LocatorModelPropertyTester"
            namespace="org.eclipse.tcf.te.tcf.locator"
            properties="name,nameRegex,osName,osNameRegex,hasLocalService,hasRemoteService,hasOfflineService,hasAttribute,isAttribute,isProxy,isValid,isValueAdd,isOfType,isRemotePeer"
            type="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode">
      </propertyTester>

      <propertyTester
            class="org.eclipse.tcf.te.tcf.locator.internal.PeerModelPropertyTester"
            id="org.eclipse.tcf.te.tcf.locator.LocatorModelPropertyTester2"
            namespace="org.eclipse.tcf.te.tcf.locator"
            properties="name,nameRegex,osName,osNameRegex,hasLocalService,hasRemoteService,hasOfflineService,hasAttribute,isAttribute,isProxy,isValueAdd,isOfType,isRemotePeer"
            type="org.eclipse.tcf.protocol.IPeer">
      </propertyTester>

      <propertyTester
            class="org.eclipse.tcf.te.tcf.locator.internal.PeerModelPropertyTester"
            id="org.eclipse.tcf.te.tcf.locator.LocatorModelPropertyTester2"
            namespace="org.eclipse.tcf.te.tcf.locator"
            properties="name,nameRegex,osName,osNameRegex,hasLocalService,hasRemoteService,hasOfflineService,hasAttribute,isAttribute,isProxy,isValueAdd,isOfType,isRemotePeer"
            type="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.ILocatorNode">
      </propertyTester>

      <propertyTester
            class="org.eclipse.tcf.te.tcf.locator.internal.SimulatorPropertyTester"
            id="org.eclipse.tcf.te.tcf.locator.SimulatorPropertyTester"
            namespace="org.eclipse.tcf.te.tcf.locator"
            properties="isSimulatorState,canStartSimulator"
            type="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode">
      </propertyTester>
   </extension>

<!-- Persistence delegate contributions -->
   <extension point="org.eclipse.tcf.te.runtime.persistence.delegates">
      <delegate 
            id="org.eclipse.tcf.te.tcf.locator.persistence.gson.peer"
            class="org.eclipse.tcf.te.tcf.locator.persistence.GsonPeerPersistenceDelegate">
      </delegate>
   </extension>

<!-- Persistence delegate bindings contributions -->
   <extension
         point="org.eclipse.tcf.te.runtime.persistence.bindings">
      <binding
            delegateId="org.eclipse.tcf.te.tcf.locator.persistence.gson.peer"
            id="org.eclipse.tcf.te.tcf.locator.binding.gson.peer">
         <enablement>
            <with variable="container">
               <or>
                  <instanceof value="java.net.URI"/>
                  <instanceof value="java.lang.String"/>
                  <and>
                     <instanceof value="java.lang.Class"/>
                     <with variable="containerClass">
                        <equals value="java.lang.String"/>
                     </with>
                  </and>
               </or>
            </with>
            <with variable="context">
               <or>
                  <instanceof value="org.eclipse.tcf.protocol.IPeer"/>
                  <instanceof value="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode"/>
                  <instanceof value="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNodeProvider"/>
                  <and>
                     <instanceof value="java.lang.Class"/>
                     <with variable="contextClass">
                        <equals value="org.eclipse.tcf.protocol.IPeer"/>
                     </with>
                  </and>
               </or>
            </with>
         </enablement>
      </binding>
   </extension>

<!-- Service contributions -->
   <extension point="org.eclipse.tcf.te.runtime.services.services">
      <service
            class="org.eclipse.tcf.te.tcf.locator.services.PropertiesAccessService"
            id="org.eclipse.tcf.te.runtime.services.tcf.propertiesAccess">
         <serviceType
               bundleId="org.eclipse.tcf.te.runtime.services"
               class="org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService"/>
         <enablement>
            <or>
               <instanceof value="org.eclipse.tcf.protocol.IPeer"/>
               <instanceof value="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode"/>
            </or>
         </enablement>
      </service>

      <service
            class="org.eclipse.tcf.te.tcf.locator.services.StepperOperationService"
            id="org.eclipse.tcf.te.tcf.locator.services.stepperOperation">
         <serviceType
               bundleId="org.eclipse.tcf.te.runtime.stepper"
               class="org.eclipse.tcf.te.runtime.stepper.interfaces.IStepperOperationService">
         </serviceType>
         <enablement>
            <instanceof value="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode"/>
            <test forcePluginActivation="true" property="org.eclipse.tcf.te.tcf.locator.isOfType" value="null"/>
         </enablement>
      </service>

      <service
            class="org.eclipse.tcf.te.tcf.locator.services.PeerNodeDelegateService"
            id="org.eclipse.tcf.te.tcf.locator.services.PeerNodeDelegate">
         <serviceType class="org.eclipse.tcf.te.runtime.services.interfaces.IDelegateService"/>
         <enablement>
            <instanceof value="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode"/>
            <test forcePluginActivation="true" property="org.eclipse.tcf.te.tcf.locator.isOfType" value="null"/>
         </enablement>
      </service>
   </extension>

<!-- Step contributions -->
   <extension point="org.eclipse.tcf.te.runtime.stepper.steps">
      <step
            id="org.eclipse.tcf.te.tcf.locator.checkServiceStep"
            class="org.eclipse.tcf.te.tcf.locator.steps.CheckServiceStep"
            label="%CheckServiceStep.name">
         <requires id="org.eclipse.tcf.te.tcf.core.openChannelStep"/>
      </step>
      <step
            id="org.eclipse.tcf.te.tcf.locator.startSimulatorStep"
            class="org.eclipse.tcf.te.tcf.locator.steps.StartSimulatorStep"
            label="%StartSimulatorStep.name"/>
      <step
            id="org.eclipse.tcf.te.tcf.locator.stopSimulatorStep"
            class="org.eclipse.tcf.te.tcf.locator.steps.StopSimulatorStep"
            label="%StopSimulatorStep.name"/>
      <step
            id="org.eclipse.tcf.te.tcf.locator.startDebuggerStep"
            class="org.eclipse.tcf.te.tcf.locator.steps.StartDebuggerStep"
            label="%StartDebuggerStep.name"/>
      <step
            id="org.eclipse.tcf.te.tcf.locator.stopDebuggerStep"
            class="org.eclipse.tcf.te.tcf.locator.steps.StopDebuggerStep"
            label="%StopDebuggerStep.name"/>
      <step
            id="org.eclipse.tcf.te.tcf.locator.waitForReadyStep"
            class="org.eclipse.tcf.te.tcf.locator.steps.WaitForReadyStep"
            label="%WaitForReadyStep.name"/>
      <step
            id="org.eclipse.tcf.te.tcf.locator.startPingTimerStep"
            class="org.eclipse.tcf.te.tcf.locator.steps.StartPingTimerStep"
            label="%StartPingTimerStep.name"/>
   </extension>

<!-- Step group contributions -->
   <extension point="org.eclipse.tcf.te.runtime.stepper.stepGroups">
      <stepGroup
            id="org.eclipse.tcf.te.tcf.locator.connectStepGroup">
         <references>
            <reference id="org.eclipse.tcf.te.tcf.locator.connectNoAttachStepGroup"/>
            <reference id="org.eclipse.tcf.te.tcf.locator.startDebuggerStepGroup"/>
         </references>
      </stepGroup>

      <stepGroup
            id="org.eclipse.tcf.te.tcf.locator.connectNoAttachStepGroup">
         <references>
            <reference id="org.eclipse.tcf.te.core.setConnectStateStep">
            	<parameter name="state" value="connecting" />
            	<parameter name="stateOnCancel" value="disconnected" />
            	<parameter name="stateOnError" value="disconnected" />
            </reference>
            <reference id="org.eclipse.tcf.te.tcf.locator.startSimulatorStepGroup"/>
            <reference id="org.eclipse.tcf.te.tcf.locator.waitForReadyStepGroup"/>
            <reference id="org.eclipse.tcf.te.core.setConnectStateStep">
            	<parameter name="state" value="connected" />
            </reference>
            <reference id="org.eclipse.tcf.te.tcf.locator.startPingTimerStep"/>
         </references>
      </stepGroup>

      <stepGroup
            id="org.eclipse.tcf.te.tcf.locator.disconnectStepGroup">
         <references>
            <reference id="org.eclipse.tcf.te.core.setConnectStateStep">
            	<parameter name="state" value="disconnecting" />
            	<parameter name="stateOnError" value="disconnected" />
            </reference>
            <reference id="org.eclipse.tcf.te.runtime.stepper.cancelJobsStep"/>
            <reference id="org.eclipse.tcf.te.tcf.locator.stopDebuggerStep"/>
            <reference id="org.eclipse.tcf.te.tcf.core.shutDownStep"/>
            <reference id="org.eclipse.tcf.te.tcf.locator.stopSimulatorStep"/>
            <reference id="org.eclipse.tcf.te.core.setConnectStateStep">
            	<parameter name="state" value="disconnected" />
            </reference>
         </references>
      </stepGroup>
      
      <stepGroup
            id="org.eclipse.tcf.te.tcf.locator.connectionLostStepGroup">
         <references>
            <reference id="org.eclipse.tcf.te.core.setConnectStateStep">
            	<parameter name="state" value="connection_lost" />
            	<parameter name="stateOnError" value="disconnected" />
            </reference>
            <reference id="org.eclipse.tcf.te.runtime.stepper.cancelJobsStep"/>
            <reference id="org.eclipse.tcf.te.tcf.locator.stopDebuggerStep"/>
            <reference id="org.eclipse.tcf.te.tcf.core.shutDownStep"/>
            <reference id="org.eclipse.tcf.te.core.setConnectStateStep">
            	<parameter name="state" value="connection_lost" />
            </reference>
         </references>
      </stepGroup>
      
      <stepGroup
            id="org.eclipse.tcf.te.tcf.locator.connectionRecoveringStepGroup">
         <references>
            <reference id="org.eclipse.tcf.te.core.setConnectStateStep">
            	<parameter name="state" value="connection_recovering" />
            	<parameter name="stateOnCancel" value="disconnected" />
            	<parameter name="stateOnError" value="disconnected" />
            </reference>
            <reference id="org.eclipse.tcf.te.tcf.locator.waitForReadyStep">
            	<parameter name="noTimeout" value="true" />
            </reference>
            <reference id="org.eclipse.tcf.te.core.setConnectStateStep">
            	<parameter name="state" value="connected" />
            </reference>
            <reference id="org.eclipse.tcf.te.tcf.locator.startPingTimerStep"/>
         </references>
      </stepGroup>

      <stepGroup
            id="org.eclipse.tcf.te.tcf.locator.startSimulatorStepGroup"
            iterator="org.eclipse.tcf.te.tcf.locator.iterators.StartSimulatorIterator">
         <references>
            <reference id="org.eclipse.tcf.te.tcf.locator.startSimulatorStep"/>
         </references>
      </stepGroup>

      <stepGroup
            id="org.eclipse.tcf.te.tcf.locator.waitForReadyStepGroup">
         <references>
            <reference id="org.eclipse.tcf.te.tcf.locator.waitForReadyStep"/>
         </references>
      </stepGroup>

      <stepGroup
            id="org.eclipse.tcf.te.tcf.locator.startDebuggerStepGroup"
            iterator="org.eclipse.tcf.te.tcf.locator.iterators.StartDebuggerIterator">
         <references>
            <reference id="org.eclipse.tcf.te.tcf.locator.startDebuggerStep">
               <parameter name="autoAttachAll" value="true"/>
            </reference>
         </references>
      </stepGroup>
   </extension>

<!-- Reusable core expression fragments -->   
   <extension point="org.eclipse.core.expressions.definitions">
   
      <!-- Expression to test if current variable 
           is adaptable to IPeerNode and has a simulator service
      -->
      <definition id="te.expressions.peerModel.hasSimulatorService">
         <adapt type="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode">
            <test property="org.eclipse.tcf.te.runtime.services.hasService" 
                  value="org.eclipse.tcf.te.runtime.services.interfaces.ISimulatorService"/>
            <test property="org.eclipse.tcf.te.tcf.locator.isAttribute"
                  args="SimulatorEnabled" value="true"/>
         </adapt>
      </definition>

      <!-- Expression to test if the active editor input 
           is adaptable to IPeerNode and has a simulator service
      -->
      <definition id="te.expressions.editor.hasSimulatorService">
         <with variable="activeEditorInput">
            <reference definitionId="te.expressions.peerModel.hasSimulatorService"/>
         </with>
      </definition>

      <!-- Expression to test if the selection 
           is adaptable to IPeerNode and has a simulator service
      -->
      <definition id="te.expressions.selection.hasSimulatorService">
         <with variable="selection">
            <count value="1"/>
            <iterate operator="and" ifEmpty="false">
               <reference definitionId="te.expressions.peerModel.hasSimulatorService"/>
            </iterate>
         </with>
      </definition>

      <!-- Expression to test if current variable 
           is adaptable to IPeerNode and has remote or offline run control
      -->
      <definition id="te.expressions.peerModel.hasRunControl">
         <adapt type="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode">
            <or>
               <test property="org.eclipse.tcf.te.tcf.locator.hasRemoteService" value="RunControl"/>
               <test property="org.eclipse.tcf.te.tcf.locator.hasOfflineService" value="RunControl"/>
            </or>
         </adapt>
      </definition>

      <!-- Expression to test if the active editor input 
           is adaptable to IPeerNode and has remote or offline run control
      -->
      <definition id="te.expressions.editor.hasRunControl">
         <with variable="activeEditorInput">
            <reference definitionId="te.expressions.peerModel.hasSimulatorService"/>
         </with>
      </definition>

      <!-- Expression to test if the selection 
           is adaptable to IPeerNode and has remote or offline run control
      -->
      <definition id="te.expressions.selection.hasRunControl">
         <with variable="selection">
            <count value="1"/>
            <iterate operator="and" ifEmpty="false">
               <reference definitionId="te.expressions.peerModel.hasSimulatorService"/>
            </iterate>
         </with>
      </definition>

   </extension>

</plugin>

Back to the top