c25b2f9cadcd3186cc36e7611736f80fa8e96f09
[controller.git] / opendaylight / md-sal / sal-dom-api / src / main / java / org / opendaylight / controller / sal / core / api / AbstractProvider.java
1 package org.opendaylight.controller.sal.core.api;
2
3 import java.util.Collection;
4 import java.util.Collections;
5
6 import org.opendaylight.controller.sal.core.api.Broker.ProviderSession;
7 import org.osgi.framework.BundleActivator;
8 import org.osgi.framework.BundleContext;
9 import org.osgi.framework.ServiceReference;
10
11 public abstract class AbstractProvider implements BundleActivator, Provider {
12
13     private ServiceReference<Broker> brokerRef;
14     private Broker broker;
15
16     @Override
17     public Collection<ProviderFunctionality> getProviderFunctionality() {
18         return Collections.emptySet();
19     }
20
21     @Override
22     public final void start(BundleContext context) throws Exception {
23         brokerRef = context.getServiceReference(Broker.class);
24         broker = context.getService(brokerRef);
25
26         this.startImpl(context);
27
28         broker.registerProvider(this,context);
29     }
30
31     public abstract void startImpl(BundleContext context);
32
33     @Override
34     public final void stop(BundleContext context) throws Exception {
35         // TODO Auto-generated method stub
36
37     }
38
39 }