<plugin class="::gui::Plugin" id="gui">

    <library name="gui"/>

    <requirement id="dataReg"/>
    <requirement id="servicesReg"/>

    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IFrameSrv</type>
        <service>::gui::frame::DefaultFrame</service>
        <object>::fwData::Object</object>
    </extension>

    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IMenuSrv</type>
        <service>::gui::aspect::DefaultMenuSrv</service>
        <object>::fwData::Object</object>
    </extension>

    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IMenuBarSrv</type>
        <service>::gui::aspect::DefaultMenuBarSrv</service>
        <object>::fwData::Object</object>
    </extension>

    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::gui::view::IView</type>
        <service>::gui::view::DefaultView</service>
        <object>::fwData::Object</object>
    </extension>

    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::gui::action::NothingActionSrv</service>
        <object>::fwData::Object</object>
    </extension>
    
    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::gui::action::QuitAction</service>
        <object>::fwData::Object</object>
    </extension>

    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::gui::action::StarterActionService</service>
        <object>::fwData::Object</object>
    </extension>
    
    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::gui::action::SSlotCaller</service>
        <object>::fwData::Object</object>
    </extension>

    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IToolBarSrv</type>
        <service>::gui::aspect::DefaultToolBarSrv</service>
        <object>::fwData::Object</object>
    </extension>

    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::gui::action::ConfigActionSrv</service>
        <object>::fwData::Object</object>
    </extension>

    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::gui::action::ConfigActionSrvWithKey</service>
        <object>::fwData::Object</object>
    </extension>
    
    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::gui::action::SConfigLauncher</service>
        <object>::fwData::Object</object>
    </extension>

    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::gui::action::ModifyLayoutActionSrv</service>
        <object>::fwData::Object</object>
    </extension>
    
    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::gui::action::ActionNotifyService</service>
        <object>::fwData::Object</object>
    </extension>

    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::gui::action::PushObjectSrv</service>
        <object>::fwData::Composite</object>
    </extension>

    <extension implements="::fwServices::registry::ServiceFactory">
        <type>::fwGui::IActionSrv</type>
        <service>::gui::action::SSignal</service>
        <object>::fwData::Object</object>
    </extension>

</plugin>
