<!--
  ~ Copyright 2016-present Open Networking Foundation
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">

    <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
        <command>
            <action class="org.onosproject.ui.impl.cli.UiViewListCommand"/>
        </command>

        <command>
            <action class="org.onosproject.ui.impl.cli.UiPreferencesListCommand"/>
        </command>

        <command>
            <action class="org.onosproject.ui.impl.topo.cli.UiCacheMembersCommand"/>
        </command>
        <command>
            <action class="org.onosproject.ui.impl.topo.cli.UiCacheRegionsCommand"/>
        </command>
        <command>
            <action class="org.onosproject.ui.impl.topo.cli.UiCacheDevicesCommand"/>
        </command>
        <command>
            <action class="org.onosproject.ui.impl.topo.cli.UiCacheHostsCommand"/>
        </command>
        <command>
            <action class="org.onosproject.ui.impl.topo.cli.UiCacheLinksCommand"/>
        </command>
        <command>
            <action class="org.onosproject.ui.impl.topo.cli.UiGeoMapListCommand"/>
        </command>
    </command-bundle>

    <!--<bean id="macIDCompleter" class="org.onosproject.dhcp.cli.MacIdCompleter"/>-->

</blueprint>