Initial sketch of LabelResource APIs
LabelResource subsystem will be used to manage label resources such as
MPLS labels, ... (Part of ONOS-1223)

:)

Change-Id: Ib11eac84d81d7d86eaaf0222cf0bd7d3c64d2e51
diff --git a/core/api/src/main/java/org/onosproject/net/resource/LabelResourceProviderService.java b/core/api/src/main/java/org/onosproject/net/resource/LabelResourceProviderService.java
new file mode 100644
index 0000000..6e2fa5b
--- /dev/null
+++ b/core/api/src/main/java/org/onosproject/net/resource/LabelResourceProviderService.java
@@ -0,0 +1,26 @@
+package org.onosproject.net.resource;
+
+import org.onosproject.net.DeviceId;
+import org.onosproject.net.provider.ProviderService;
+
+/**
+ * Means for injecting label information into the core.
+ */
+public interface LabelResourceProviderService extends ProviderService<LabelResourceProvider> {
+
+    /**
+     * Signals that a device label resource pool has been detected.
+     * @param deviceId device identifier
+     * @param beginLabel the begin label number of resource
+     * @param endLabel the end label number of resource
+     */
+    void deviceLabelResourcePoolDetected(DeviceId deviceId,
+                                         LabelResourceId beginLabel,
+                                         LabelResourceId endLabel);
+
+    /**
+     * Signals that an label resource pool has been destroyed.
+     * @param deviceId device identifier
+     */
+    void deviceLabelResourcePoolDestroyed(DeviceId deviceId);
+}