72 lines
1.5 KiB
Protocol Buffer
72 lines
1.5 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package camino;
|
|
|
|
import "google/protobuf/descriptor.proto";
|
|
import "camino/schema.proto";
|
|
import "quixos/refs.proto";
|
|
|
|
extend google.protobuf.FileOptions {
|
|
string schema_namespace = 51000;
|
|
string schema_version = 51001;
|
|
}
|
|
|
|
extend google.protobuf.MessageOptions {
|
|
ClassOptions class = 51010;
|
|
repeated MethodOptions method = 51011;
|
|
repeated MigrationOptions migration = 51012;
|
|
InterfaceOptions interface = 51013;
|
|
repeated ImplementsOptions implements = 51014;
|
|
ConstructorOptions constructor = 51015;
|
|
}
|
|
|
|
extend google.protobuf.FieldOptions {
|
|
ConflictStrategy conflict = 51020;
|
|
EdgeOptions edge = 51021;
|
|
FieldStorage field_storage = 51022;
|
|
FieldOps field_ops = 51023;
|
|
InterfaceFieldContract interface_field = 51024;
|
|
bool display_label = 51025;
|
|
}
|
|
|
|
extend google.protobuf.MethodOptions {
|
|
quixos.FunctionRef impl = 51030;
|
|
}
|
|
|
|
message ClassOptions {
|
|
uint32 version = 1;
|
|
SymbolRef id = 2;
|
|
}
|
|
|
|
message InterfaceOptions {
|
|
uint32 version = 1;
|
|
SymbolRef id = 2;
|
|
}
|
|
|
|
message ImplementsOptions {
|
|
SymbolRef interface = 1;
|
|
repeated TypeBinding type_binding = 2;
|
|
}
|
|
|
|
message ConstructorOptions {
|
|
quixos.FunctionRef function = 1;
|
|
}
|
|
|
|
message EdgeOptions {
|
|
SymbolRef id = 1;
|
|
SymbolRef target = 2;
|
|
Cardinality cardinality = 3;
|
|
string inverse = 4;
|
|
}
|
|
|
|
message MethodOptions {
|
|
string name = 1;
|
|
quixos.FunctionRef function = 2;
|
|
}
|
|
|
|
message MigrationOptions {
|
|
uint32 from_version = 1;
|
|
uint32 to_version = 2;
|
|
quixos.FunctionRef function = 3;
|
|
}
|