Injecting topology through JSON ConfigProvider works for multi-instance (ONOS-490).

Change-Id: Ib977f4cf9a59ddec360072891fd803c6f9ee84f1

Injecting optical device annotations and ports works for multi-instance (ONOS-870).

Change-Id: Icdde16ef72fc4e47eec7213250b04902083f0537
diff --git a/core/store/dist/src/main/java/org/onosproject/store/device/impl/DeviceInjectedEvent.java b/core/store/dist/src/main/java/org/onosproject/store/device/impl/DeviceInjectedEvent.java
new file mode 100644
index 0000000..6f93963
--- /dev/null
+++ b/core/store/dist/src/main/java/org/onosproject/store/device/impl/DeviceInjectedEvent.java
@@ -0,0 +1,49 @@
+package org.onosproject.store.device.impl;
+
+import com.google.common.base.MoreObjects;
+import org.onosproject.net.DeviceId;
+import org.onosproject.net.device.DeviceDescription;
+import org.onosproject.net.provider.ProviderId;
+
+public class DeviceInjectedEvent {
+    private final ProviderId providerId;
+    private final DeviceId deviceId;
+    private final DeviceDescription deviceDescription;
+
+    protected DeviceInjectedEvent(
+            ProviderId providerId,
+            DeviceId deviceId,
+            DeviceDescription deviceDescription) {
+        this.providerId = providerId;
+        this.deviceId = deviceId;
+        this.deviceDescription = deviceDescription;
+    }
+
+    public DeviceId deviceId() {
+        return deviceId;
+    }
+
+    public ProviderId providerId() {
+        return providerId;
+    }
+
+    public DeviceDescription deviceDescription() {
+        return deviceDescription;
+    }
+
+    @Override
+    public String toString() {
+        return MoreObjects.toStringHelper(getClass())
+                .add("providerId", providerId)
+                .add("deviceId", deviceId)
+                .add("deviceDescription", deviceDescription)
+                .toString();
+    }
+
+    // for serializer
+    protected DeviceInjectedEvent() {
+        this.providerId = null;
+        this.deviceId = null;
+        this.deviceDescription = null;
+    }
+}