[ONOS-2159]Add to query devices by type api in DeviceService and
DeviceStore interfaces

Change-Id: Ifa7e94e08eb150fb4d71248a50a390832d1549df
diff --git a/core/api/src/main/java/org/onosproject/net/device/DeviceService.java b/core/api/src/main/java/org/onosproject/net/device/DeviceService.java
index 5ce4d16..ab6dba5 100644
--- a/core/api/src/main/java/org/onosproject/net/device/DeviceService.java
+++ b/core/api/src/main/java/org/onosproject/net/device/DeviceService.java
@@ -44,6 +44,15 @@
     Iterable<Device> getDevices();
 
     /**
+     * Returns a collection of the currently known infrastructure
+     * devices by device type.
+     *
+     * @param type device type
+     * @return collection of devices
+     */
+    Iterable<Device> getDevices(Device.Type type);
+
+    /**
      * Returns an iterable collection of all devices
      * currently available to the system.
      *
@@ -52,6 +61,14 @@
     Iterable<Device> getAvailableDevices();
 
     /**
+     * Returns an iterable collection of all devices currently available to the system by device type.
+     *
+     * @param type device type
+     * @return device collection
+     */
+    Iterable<Device> getAvailableDevices(Device.Type type);
+
+    /**
      * Returns the device with the specified identifier.
      *
      * @param deviceId device identifier