<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2010-2014 SAP AG and others.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v1.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v10.html

    Contributors:
        SAP AG - initial API and implementation
 -->
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.skalli.core.component.project">
    <implementation class="org.eclipse.skalli.core.project.ProjectComponent"/>
    <service>
        <provide interface="org.eclipse.skalli.services.entity.EntityService"/>
        <provide interface="org.eclipse.skalli.services.project.ProjectService"/>
    </service>
    <reference
        name="PersistenceService"
        interface="org.eclipse.skalli.services.persistence.PersistenceService"
        cardinality="1..1"
        policy="dynamic"
        bind="bindPersistenceService"
        unbind="unbindPersistenceService"/>
    <reference
        name="ProjectTemplateService"
        interface="org.eclipse.skalli.services.template.ProjectTemplateService"
        cardinality="1..1"
        policy="dynamic"
        bind="bindProjectTemplateService"
        unbind="unbindProjectTemplateService"/>
    <reference
        name="EventService"
        interface="org.eclipse.skalli.services.event.EventService"
        cardinality="0..1"
        policy="dynamic"
        bind="bindEventService"
        unbind="unbindEventService"/>
    <reference
        name="RoleProvider"
        interface="org.eclipse.skalli.services.role.RoleProvider"
        cardinality="0..n"
        policy="dynamic"
        bind="bindRoleProvider"
        unbind="unbindRoleProvider"/>
</scr:component>

