- Move src/, tests/, bin/, generated/, proto/, composer.json, composer.lock, phpunit.xml from php/ to repo root - Move ref/ to doc/reference_samples/ for better organization - Remove vendor/ from git tracking (now properly gitignored) - Update all test file paths (dirname adjustments and ref/ -> doc/reference_samples/) - Update all documentation paths (AGENTS.md, doc/*.md) - Remove php.bak/ directory - All 252 tests pass
119 lines
2.8 KiB
Protocol Buffer
Executable file
119 lines
2.8 KiB
Protocol Buffer
Executable file
syntax = "proto3";
|
|
|
|
package rv.data;
|
|
|
|
option cc_enable_arenas = true;
|
|
option csharp_namespace = "Pro.SerializationInterop.RVProtoData";
|
|
option swift_prefix = "RVData_";
|
|
|
|
import "rvtimestamp.proto";
|
|
import "uuid.proto";
|
|
|
|
message API_v1_GroupMember {
|
|
string ip = 1;
|
|
uint32 port = 2;
|
|
}
|
|
|
|
message API_v1_GroupMemberStatus {
|
|
enum API_v1_GroupMemberStatus_ConnectionStatus {
|
|
CONNECTION_STATUS_UNKNOWN = 0;
|
|
CONNECTION_STATUS_CONNECTED = 1;
|
|
CONNECTION_STATUS_DISCONNECTED = 2;
|
|
}
|
|
|
|
enum API_v1_GroupMemberStatus_Platform {
|
|
PLATFORM_UNKNOWN = 0;
|
|
PLATFORM_MACOS = 1;
|
|
PLATFORM_WIN32 = 2;
|
|
PLATFORM_WEB = 3;
|
|
}
|
|
|
|
string ip = 1;
|
|
uint32 port = 2;
|
|
string name = 3;
|
|
.rv.data.API_v1_GroupMemberStatus.API_v1_GroupMemberStatus_Platform platform = 4;
|
|
string os_version = 5;
|
|
string host_description = 6;
|
|
string api_version = 7;
|
|
.rv.data.API_v1_GroupMemberStatus.API_v1_GroupMemberStatus_ConnectionStatus connection_status = 8;
|
|
}
|
|
|
|
message API_v1_GroupDefinition {
|
|
.rv.data.Timestamp timestamp = 1;
|
|
string secret = 2;
|
|
string name = 3;
|
|
repeated .rv.data.API_v1_GroupMember members = 4;
|
|
.rv.data.UUID group_identifier = 5;
|
|
}
|
|
|
|
message API_v1_Link_Request {
|
|
message Heartbeat {
|
|
uint32 port = 1;
|
|
string if_modified_since = 2;
|
|
}
|
|
|
|
message Status {
|
|
}
|
|
|
|
message AddMember {
|
|
oneof AddType {
|
|
.rv.data.API_v1_GroupDefinition group_definition = 1;
|
|
.rv.data.API_v1_GroupMember member_details = 2;
|
|
}
|
|
}
|
|
|
|
message RemoveMember {
|
|
.rv.data.API_v1_GroupMember member_details = 1;
|
|
}
|
|
|
|
oneof Request {
|
|
.rv.data.API_v1_Link_Request.Heartbeat heartbeat = 1;
|
|
.rv.data.API_v1_Link_Request.Status status = 2;
|
|
.rv.data.API_v1_Link_Request.AddMember add_member = 3;
|
|
.rv.data.API_v1_Link_Request.RemoveMember remove_member = 4;
|
|
}
|
|
}
|
|
|
|
message API_v1_Link_Response {
|
|
message Heartbeat {
|
|
.rv.data.API_v1_GroupDefinition group_definition = 1;
|
|
.rv.data.API_v1_GroupMemberStatus status = 2;
|
|
}
|
|
|
|
message Status {
|
|
.rv.data.API_v1_GroupDefinition group_definition = 1;
|
|
string member_name = 2;
|
|
}
|
|
|
|
message AddMember {
|
|
message RemoteMachineAccepts {
|
|
}
|
|
|
|
message RemoteMachineDecline {
|
|
enum DeclineReason {
|
|
ALREADY_IN_GROUP = 0;
|
|
USER_DECLINED = 1;
|
|
}
|
|
|
|
.rv.data.API_v1_Link_Response.AddMember.RemoteMachineDecline.DeclineReason reason = 1;
|
|
}
|
|
|
|
oneof Result {
|
|
.rv.data.API_v1_GroupDefinition group_definition = 1;
|
|
.rv.data.API_v1_Link_Response.AddMember.RemoteMachineAccepts accept = 2;
|
|
.rv.data.API_v1_Link_Response.AddMember.RemoteMachineDecline decline = 3;
|
|
}
|
|
}
|
|
|
|
message RemoveMember {
|
|
}
|
|
|
|
oneof Response {
|
|
.rv.data.API_v1_Link_Response.Heartbeat heartbeat = 1;
|
|
.rv.data.API_v1_Link_Response.Status status = 2;
|
|
.rv.data.API_v1_Link_Response.AddMember add_member = 3;
|
|
.rv.data.API_v1_Link_Response.RemoveMember remove_member = 4;
|
|
}
|
|
}
|
|
|