Optimized version of NormalizedNode Serialization
[controller.git] / opendaylight / md-sal / sal-clustering-commons / src / main / resources / Common.proto
index 59d78dd04d483c8157d142a7bc7a04958e55db25..0b3ff21eb78737aa58450db900f5877b217718b1 100644 (file)
@@ -10,16 +10,29 @@ message Attribute{
   optional string type=3;
 }
 
+message PathArgumentAttribute{
+    optional QName name =1;
+    optional string value=2;
+    optional int32 type=3;
+}
+
+
 message QName {
-    required string value=1;
+    optional string value=1; // @deprecated
+    optional int32 namespace=2;
+    optional int32 revision=3;
+    optional int32 localName=4;
 }
 
 message PathArgument {
-  required string value=1;
-  optional string type=2; //NodeIdentifier, NodeWithValue, NodeIdentifierWithPredicates
+  optional string value=1; // @deprecated
+  optional string type=2; // @deprecated
+
   optional QName nodeType=3;
-  repeated Attribute attributes=4;
 
+  repeated PathArgumentAttribute attribute=4;
+  repeated Attribute attributes=5; // @deprecated For backward compatibility (see InstanceIdentifierUtils)
+  optional int32 intType = 6;
 }
 
 message InstanceIdentifier {
@@ -27,14 +40,24 @@ message InstanceIdentifier {
 }
 
 message Node{
-  optional string path = 1;
-  optional string type = 2;
-  repeated Attribute attributes = 3;
-  repeated Node child=4;
-  optional string value = 5;
-  optional string valueType = 6;
-  repeated string bitsValue = 7;
-  optional InstanceIdentifier instanceIdentifierValue = 8;
+  optional string path = 1; // @deprecated(use pathArgument)
+  optional string type = 2; // @deprecated(use intType)
+  optional PathArgument pathArgument = 3;
+  optional int32 intType = 4;
+
+  repeated Attribute attributes = 5;
+
+  repeated Node child = 6;
+
+  optional string value = 7;
+  optional string valueType = 8; // @deprecated(use intValueType)
+  optional int32 intValueType = 9; // instead of valueType
+
+  // Specific values
+  optional InstanceIdentifier instanceIdentifierValue = 10; // intValueType = YangInstanceIdentifier
+  repeated string bitsValue = 11; // intValueType = Bits
+
+  repeated string code = 12; // A list of string codes which can be used for any repeated strings in the NormalizedNode
 }
 
 message Container{