<!-- Services for servicemix osgi and karaf control actions.
  -  This XML fragment is suitable for including in plugin XML files for 
  -  applications that are deployed in FUSE ESB 4.x.
  -  
  -  You will also need to ensure that you add a filter definition for the
  -  ${karaf-domain}, ${osgi-compendium-domain} and ${osgi-core-domain} expansion, thusly:
  -
  - <filter name="karaf-domain" value="org.apache.felix.karaf"/>
  - <filter name="osgi-core-domain" value="osgi.core"/>
  - <filter name="osgi-compendium-domain" value="osgi.compendium"/>
  -->

    <service name="Karaf Admin">
	    <property name="OBJECT_NAME" value="${karaf-domain}:type=admin,name=*"/>
			<config>
				<option name="name" description="name" default="root"/>
			</config> 
			<plugin type="autoinventory"/>
			<plugin type="control" class="org.hyperic.hq.product.jmx.MxControlPlugin"/>
			<actions include="createInstance,destroyInstance,changePort,startInstance,stopInstance"/>
			<metric name="Availability" indicator="true"/>
    </service> 
    <service name="Karaf Features">
       <property name="OBJECT_NAME" value="${karaf-domain}:type=features,name=*"/>
			<config>
				<option name="name" description="name" default="root"/>
			</config> 
			<plugin type="autoinventory"/>
			<plugin type="control" class="org.hyperic.hq.product.jmx.MxControlPlugin"/>
			<actions include="addRepository,uninstallFeature,installFeature,removeRepository"/>
            <metric name="InitialBundleStartLevel"/>
            <metric name="FrameworkStartLevel"/>
			<metric name="Availability" indicator="true"/>
    </service>

    <service name="Osgi Compendium Configuration Management">
       <property name="OBJECT_NAME" value="${osgi-compendium-domain}:service=cm"/>
			<plugin type="autoinventory"/>
			<plugin type="control" class="org.hyperic.hq.product.jmx.MxControlPlugin"/>
			<actions include="getProperties,delete,update,addProperty,createFactoryConfiguration,listConfiguration,getFactoryPid,getBundleLocation,setBundleLocation,addPropertyToConfigurations,deleteConfigurations,deleteProperty,deletePropertyFromConfigurations"/>
			<metric name="Availability" indicator="true"/>
    </service>

    <service name="Osgi Compendium Permission Management">
       <property name="OBJECT_NAME" value="${osgi-compendium-domain}:service=permissionadmin"/>
			<plugin type="autoinventory"/>
			<plugin type="control" class="org.hyperic.hq.product.jmx.MxControlPlugin"/>
			<actions include="getPermissions,setPermissions"/>
			<metric name="Availability" indicator="true"/>
    </service>

    <service name="Osgi Core Bundle State">
       <property name="OBJECT_NAME" value="${osgi-core-domain}:type=bundleState"/>
			<plugin type="autoinventory"/>
			<plugin type="control" class="org.hyperic.hq.product.jmx.MxControlPlugin"/>
			<actions include="getState,getLastModified,getHeaders,getSymbolicName,getRegisteredServices,getServicesInUse,isFragmented,getFragments,getHosts,getStarLevel,getExportedPackages,getRemovalPending,isRequired,getRequiringBundles,getDependencies,getImportedPackages,isPersistentlyStarted"/>
			<metric name="Availability" indicator="true"/>
    </service>

    <service name="Osgi Core Framework">
       <property name="OBJECT_NAME" value="${osgi-core-domain}:type=framework"/>
			<plugin type="autoinventory"/>
			<plugin type="control" class="org.hyperic.hq.product.jmx.MxControlPlugin"/>
			<actions include="installBundle,setBundleStartLevel,uninstallBundle,updateBundle,resolveBundles,resolveBundle,refreshPackages,startBundles,installBundles,restartFramework,setBundleStartLevels,shutdownFramework,startBundle,stopBundle,uninstallBundles,updateBundles,updateFramework"/>
			<metric name="Availability" indicator="true"/>
    </service>

    <service name="Osgi Core Package State">
       <property name="OBJECT_NAME" value="${osgi-core-domain}:type=packageState"/>
			<plugin type="autoinventory"/>
			<plugin type="control" class="org.hyperic.hq.product.jmx.MxControlPlugin"/>
			<actions include="isRemovalPending,getExportingBundle,getImportingBundles"/>
			<metric name="Availability" indicator="true"/>
    </service>

    <service name="Osgi Core Service State">
       <property name="OBJECT_NAME" value="${osgi-core-domain}:type=serviceState"/>
			<plugin type="autoinventory"/>
			<plugin type="control" class="org.hyperic.hq.product.jmx.MxControlPlugin"/>
			<actions include="getProperties,getBundle,getUsingBundles,getServiceInterfaces"/>
			<metric name="Availability" indicator="true"/>
    </service>
