Register PCEP session to stats handler only after it is fully initialized
[bgpcep.git] / pcep / spi / src / main / java / org / opendaylight / protocol / pcep / spi / PCEPExtensionProviderContext.java
index 9e78e5115ac152a85475a14053d6bc322a7f5067..51f5248cbfd4a87c66c7d8978be5cdecc1b04e42 100644 (file)
@@ -7,40 +7,55 @@
  */
 package org.opendaylight.protocol.pcep.spi;
 
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Message;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Object;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.Tlv;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.basic.explicit.route.subobjects.SubobjectType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.label.subobject.LabelType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.iana.rev130816.EnterpriseNumber;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.Message;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.Object;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.Tlv;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.vendor.information.EnterpriseSpecificInformation;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.SubobjectType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.LabelType;
+import org.opendaylight.yangtools.concepts.Registration;
 
 public interface PCEPExtensionProviderContext extends PCEPExtensionConsumerContext {
-       public AutoCloseable registerLabelSerializer(Class<? extends LabelType> labelClass, LabelSerializer serializer);
+    Registration registerLabelSerializer(Class<? extends LabelType> labelClass, LabelSerializer serializer);
 
-       public AutoCloseable registerLabelParser(int cType, LabelParser parser);
+    Registration registerLabelParser(int ctype, LabelParser parser);
 
-       public AutoCloseable registerEROSubobjectParser(int subobjectType, EROSubobjectParser parser);
+    Registration registerEROSubobjectParser(int subobjectType, EROSubobjectParser parser);
 
-       public AutoCloseable registerEROSubobjectSerializer(Class<? extends SubobjectType> subobjectClass, EROSubobjectSerializer serializer);
+    Registration registerEROSubobjectSerializer(Class<? extends SubobjectType> subobjectClass,
+            EROSubobjectSerializer serializer);
 
-       public AutoCloseable registerMessageParser(int messageType, MessageParser parser);
+    Registration registerMessageParser(int messageType, MessageParser parser);
 
-       public AutoCloseable registerMessageSerializer(Class<? extends Message> msgClass, MessageSerializer serializer);
+    Registration registerMessageSerializer(Class<? extends Message> msgClass, MessageSerializer serializer);
 
-       public AutoCloseable registerObjectParser(int objectClass, int objectType, ObjectParser parser);
+    Registration registerObjectParser(ObjectParser parser);
 
-       public AutoCloseable registerObjectSerializer(Class<? extends Object> objClass, ObjectSerializer serializer);
+    Registration registerObjectSerializer(Class<? extends Object> objClass, ObjectSerializer serializer);
 
-       public AutoCloseable registerRROSubobjectParser(int subobjectType, RROSubobjectParser parser);
+    Registration registerRROSubobjectParser(int subobjectType, RROSubobjectParser parser);
 
-       public AutoCloseable registerRROSubobjectSerializer(
-                       Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev130820.record.route.subobjects.SubobjectType> subobjectClass,
-                       RROSubobjectSerializer serializer);
+    Registration registerRROSubobjectSerializer(Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params
+            .xml.ns.yang.rsvp.rev150820.record.route.subobjects.SubobjectType> subobjectClass,
+            RROSubobjectSerializer serializer);
 
-       public AutoCloseable registerTlvSerializer(Class<? extends Tlv> tlvClass, TlvSerializer serializer);
+    Registration registerTlvSerializer(Class<? extends Tlv> tlvClass, TlvSerializer serializer);
 
-       public AutoCloseable registerTlvParser(int tlvType, TlvParser parser);
+    Registration registerTlvParser(int tlvType, TlvParser parser);
 
-       public AutoCloseable registerXROSubobjectSerializer(Class<? extends SubobjectType> subobjectClass, XROSubobjectSerializer serializer);
+    Registration registerVendorInformationTlvSerializer(
+            Class<? extends EnterpriseSpecificInformation> esInformationClass, TlvSerializer serializer);
 
-       public AutoCloseable registerXROSubobjectParser(int subobjectType, XROSubobjectParser parser);
+    Registration registerVendorInformationTlvParser(EnterpriseNumber enterpriseNumber, TlvParser parser);
+
+    Registration registerXROSubobjectSerializer(Class<? extends SubobjectType> subobjectClass,
+            XROSubobjectSerializer serializer);
+
+    Registration registerXROSubobjectParser(int subobjectType, XROSubobjectParser parser);
+
+    Registration registerVendorInformationObjectSerializer(
+            Class<? extends EnterpriseSpecificInformation> esInformationClass, ObjectSerializer serializer);
+
+    Registration registerVendorInformationObjectParser(EnterpriseNumber enterpriseNumber, ObjectParser parser);
 }