<plugin id="uiMeasurement" class="::uiMeasurement::Plugin">
    <library name="uiMeasurement"/>
    
    <requirement id="dataReg"/>
    <requirement id="servicesReg"/>
    <requirement id="gui"/>
    <requirement id="io"/>
    <requirement id="ioAtoms"/>
    
    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::uiMeasurement::action::SaveLandmark</service>
        <object>::fwData::Image</object>
    </extension>
    
    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::uiMeasurement::action::LoadLandmark</service>
        <object>::fwData::Image</object>
    </extension>
    
    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::uiMeasurement::action::AddDistance</service>
        <object>::fwData::Image</object>
    </extension>

    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::uiMeasurement::action::ShowDistance</service>
        <object>::fwData::Image</object>
    </extension>
    
    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::uiMeasurement::action::RemoveDistance</service>
        <object>::fwData::Image</object>
    </extension>

    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::uiMeasurement::action::AddLandmark</service>
        <object>::fwData::Image</object>
    </extension>
    
    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::uiMeasurement::action::RemoveLandmark</service>
        <object>::fwData::Image</object>
    </extension>
    
    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::uiMeasurement::action::FocusLandmark</service>
        <object>::fwData::Image</object>
    </extension>
        
    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::uiMeasurement::action::ShowLandmark</service>
        <object>::fwData::Image</object>
    </extension>
    
    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::uiMeasurement::action::SAddLabeledPoint</service>
        <object>::fwData::PointList</object>
    </extension>
    
     <extension implements="::fwServices::registry::AppConfig">
        <id>LoadLandmark</id>
        <type>parameters</type>
        <parameters>
            <param name="GENERIC_UID" />
            <param name="landmark" />
            <param name="file" />
        </parameters>
        <config>
            <object uid="${landmark}" src="ref">
                <service uid="${GENERIC_UID}_LoadLandmark" impl="::ioAtoms::SReader" >
                    <file>${file}</file>
                    <patcher context="Landmark" version="V1" />
                </service>
                <start uid="${GENERIC_UID}_LoadLandmark" />
                <update uid="${GENERIC_UID}_LoadLandmark" />
            </object>
        </config>
    </extension>
    
    <extension implements="::fwServices::registry::AppConfig">
        <id>SaveLandmark</id>
        <type>parameters</type>
        <parameters>
            <param name="GENERIC_UID" />
            <param name="landmark" />
            <param name="file" />
        </parameters>
        <config>
            <object uid="${landmark}" src="ref">
                <service uid="${GENERIC_UID}_SaveLandmark" impl="::ioAtoms::SWriter" >
                    <file>${file}</file>
                    <patcher context="Landmark" version="V1" />
                </service>
                <start uid="${GENERIC_UID}_SaveLandmark" />
                <update uid="${GENERIC_UID}_SaveLandmark" />
            </object>
        </config>
    </extension>
    
</plugin>
