Improve the telemetry service LCM granularity

Change-Id: I3d1b43b360883b0644af2341bdc21aeb4f603414
diff --git a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryAdminService.java b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryAdminService.java
index 62398db..63e0c3f 100644
--- a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryAdminService.java
+++ b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryAdminService.java
@@ -22,16 +22,37 @@
 
     /**
      * Prepares and launches the telemetry producer.
+     *
+     * @param name telemetry service name
      */
-    void start();
+    void start(String name);
 
     /**
      * Terminates the telemetry producer.
+     *
+     * @param name telemetry service name
      */
-    void stop();
+    void stop(String name);
 
     /**
      * Restarts the telemetry producer.
+     *
+     * @param name telemetry service name
      */
-    void restart();
+    void restart(String name);
+
+    /**
+     * Launches all telemetry services.
+     */
+    void startAll();
+
+    /**
+     * Terminates all telemetry services.
+     */
+    void stopAll();
+
+    /**
+     * Restarts all telemetry services.
+     */
+    void restartAll();
 }
diff --git a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryConfigEvent.java b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryConfigEvent.java
index a0c2714..3f22437 100644
--- a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryConfigEvent.java
+++ b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/TelemetryConfigEvent.java
@@ -21,7 +21,8 @@
 /**
  * Describes telemetry config event.
  */
-public class TelemetryConfigEvent extends AbstractEvent<TelemetryConfigEvent.Type, TelemetryConfig> {
+public class TelemetryConfigEvent
+        extends AbstractEvent<TelemetryConfigEvent.Type, TelemetryConfig> {
 
     /**
      * Telemetry config event type.
@@ -38,7 +39,15 @@
         /**
          * Signifies that an existing telemetry config is removed.
          */
-        CONFIG_DELETED
+        CONFIG_DELETED,
+        /**
+         * Signifies that a telemetry service is enabled.
+         */
+        SERVICE_ENABLED,
+        /**
+         * Signifies that a telemetry service is disabled.
+         */
+        SERVICE_DISABLED
     }
 
     /**