[SDFAB-352][SDFAB-353] Retrieve MeterFeatures from the P4RT southbound, Extend MeterProviderService and revisit MeterStore
Change-Id: If0dae53643988cb551ff5020abd792cb6d33ff6b
diff --git a/core/api/src/main/java/org/onosproject/net/meter/MeterFeatures.java b/core/api/src/main/java/org/onosproject/net/meter/MeterFeatures.java
index 2749687..ff846eb 100644
--- a/core/api/src/main/java/org/onosproject/net/meter/MeterFeatures.java
+++ b/core/api/src/main/java/org/onosproject/net/meter/MeterFeatures.java
@@ -35,10 +35,26 @@
* Returns the maximum number of meters accepted by the device.
*
* @return the maximum meter value.
+ * @deprecated in onos-2.5 replaced by {@link #startIndex()} and {@link #endIndex()}
*/
+ @Deprecated
long maxMeter();
/**
+ * Returns the start index (inclusive) of the meters.
+ *
+ * @return the start index
+ */
+ long startIndex();
+
+ /**
+ * Returns the end index (inclusive) of the meters.
+ *
+ * @return the end index
+ */
+ long endIndex();
+
+ /**
* Returns band types supported.
*
* @return the band types supported.
@@ -89,6 +105,13 @@
Set<MeterFeaturesFlag> features();
/**
+ * Returns Meter Scope.
+ *
+ * @return meter scope
+ */
+ MeterScope scope();
+
+ /**
* A meter features builder.
*/
interface Builder {
@@ -105,10 +128,28 @@
*
* @param maxMeter the maximum meters available
* @return this builder
+ * @deprecated in onos-2.5 replaced by {@link #withStartIndex(long)} and {@link #withEndIndex(long)}
*/
+ @Deprecated
Builder withMaxMeters(long maxMeter);
/**
+ * Assigns the start index (inclusive) for this meter features.
+ *
+ * @param startIndex the start index
+ * @return this builder
+ */
+ Builder withStartIndex(long startIndex);
+
+ /**
+ * Assigns the end index (inclusive) for this meter features.
+ *
+ * @param endIndex the end index
+ * @return this builder
+ */
+ Builder withEndIndex(long endIndex);
+
+ /**
* Assigns the max bands value for this meter features.
*
* @param maxBands the maximum bands available.
@@ -165,6 +206,14 @@
Builder withFeatures(Set<MeterFeaturesFlag> featureFlags);
/**
+ * Assigns the meter scope.
+ *
+ * @param scope the scope
+ * @return this builder
+ */
+ Builder withScope(MeterScope scope);
+
+ /**
* Builds the Meter Features based on the specified parameters.
*
* @return the meter features