Add Camino schema interfaces
This commit is contained in:
@@ -15,6 +15,8 @@ extend google.protobuf.MessageOptions {
|
||||
ClassOptions class = 51010;
|
||||
repeated MethodOptions method = 51011;
|
||||
repeated MigrationOptions migration = 51012;
|
||||
InterfaceOptions interface = 51013;
|
||||
repeated ImplementsOptions implements = 51014;
|
||||
}
|
||||
|
||||
extend google.protobuf.FieldOptions {
|
||||
@@ -22,6 +24,7 @@ extend google.protobuf.FieldOptions {
|
||||
EdgeOptions edge = 51021;
|
||||
FieldStorage field_storage = 51022;
|
||||
FieldOps field_ops = 51023;
|
||||
InterfaceFieldContract interface_field = 51024;
|
||||
}
|
||||
|
||||
extend google.protobuf.MethodOptions {
|
||||
@@ -33,6 +36,16 @@ message ClassOptions {
|
||||
SymbolRef id = 2;
|
||||
}
|
||||
|
||||
message InterfaceOptions {
|
||||
uint32 version = 1;
|
||||
SymbolRef id = 2;
|
||||
}
|
||||
|
||||
message ImplementsOptions {
|
||||
SymbolRef interface = 1;
|
||||
repeated TypeBinding type_binding = 2;
|
||||
}
|
||||
|
||||
message EdgeOptions {
|
||||
SymbolRef id = 1;
|
||||
SymbolRef target = 2;
|
||||
|
||||
@@ -79,6 +79,7 @@ message ClassSchema {
|
||||
string source_file = 7;
|
||||
string proto_message = 8;
|
||||
repeated OperationServiceSchema operation_services = 9;
|
||||
repeated InterfaceImplementationSchema implements = 10;
|
||||
}
|
||||
|
||||
message FieldSchema {
|
||||
@@ -90,6 +91,7 @@ message FieldSchema {
|
||||
bool optional = 6;
|
||||
FieldStorage storage = 7;
|
||||
FieldOps ops = 8;
|
||||
InterfaceFieldContract interface_contract = 9;
|
||||
}
|
||||
|
||||
message FieldStorage {
|
||||
@@ -103,6 +105,33 @@ message TypeRef {
|
||||
SymbolRef symbol = 2;
|
||||
}
|
||||
|
||||
message TypeBinding {
|
||||
string name = 1;
|
||||
TypeRef type = 2;
|
||||
}
|
||||
|
||||
message InterfaceFieldContract {
|
||||
bool required = 1;
|
||||
bool readable = 2;
|
||||
bool writable = 3;
|
||||
bool watchable = 4;
|
||||
string type_param = 5;
|
||||
TypeRef type = 6;
|
||||
}
|
||||
|
||||
message InterfaceImplementationSchema {
|
||||
SymbolRef interface = 1;
|
||||
repeated TypeBinding type_bindings = 2;
|
||||
}
|
||||
|
||||
message InterfaceSchema {
|
||||
SymbolRef id = 1;
|
||||
uint32 version = 2;
|
||||
repeated FieldSchema fields = 3;
|
||||
string source_file = 4;
|
||||
string proto_message = 5;
|
||||
}
|
||||
|
||||
enum FieldImplementation {
|
||||
FIELD_IMPLEMENTATION_UNSPECIFIED = 0;
|
||||
SERVICE = 1;
|
||||
|
||||
Reference in New Issue
Block a user