[ONOS-5599] Store meter features into MeterStore

Change-Id: I22f7366b87cad6fc706b6ff7b0ccff1a0e85ad6a
diff --git a/core/api/src/main/java/org/onosproject/net/meter/MeterStore.java b/core/api/src/main/java/org/onosproject/net/meter/MeterStore.java
index d5247c4..5a5016e 100644
--- a/core/api/src/main/java/org/onosproject/net/meter/MeterStore.java
+++ b/core/api/src/main/java/org/onosproject/net/meter/MeterStore.java
@@ -15,6 +15,7 @@
  */
 package org.onosproject.net.meter;
 
+import org.onosproject.net.DeviceId;
 import org.onosproject.store.Store;
 
 import java.util.Collection;
@@ -41,6 +42,24 @@
      */
     CompletableFuture<MeterStoreResult> deleteMeter(Meter meter);
 
+
+    /**
+     * Adds the meter features to the store.
+     *
+     * @param meterfeatures the meter features
+     * @return the result of the store operation
+     */
+    MeterStoreResult storeMeterFeatures(MeterFeatures meterfeatures);
+
+    /**
+     * Deletes the meter features from the store.
+     *
+     * @param deviceId the device id
+     * @return a future indicating the result of the store operation
+     */
+    MeterStoreResult deleteMeterFeatures(DeviceId deviceId);
+
+
     /**
      * Updates a meter whose meter id is the same as the passed meter.
      *
@@ -87,4 +106,12 @@
      */
     void deleteMeterNow(Meter m);
 
+    /**
+     * Retrieve maximum meters available for the device.
+     *
+     * @param key the meter features key
+     * @return the maximum number of meters supported by the device
+     */
+    long getMaxMeters(MeterFeaturesKey key);
+
 }