syntax = "proto3"; package qkd_app; import "context.proto"; // Optare: Change this if you want to change App's structure or enums. // Optare: If a message (structure) is changed it must be changed in src/app/service/database enum QKDAppStatusEnum { QKDAPPSTATUS_ON = 0; QKDAPPSTATUS_DISCONNECTED = 1; QKDAPPSTATUS_OUT_OF_TIME = 2; QKDAPPSTATUS_ZOMBIE = 3; } enum QKDAppTypesEnum { QKDAPPTYPES_INTERNAL = 0; QKDAPPTYPES_CLIENT = 1; } message QKDLId { context.Uuid qkdl_uuid = 1; } message App { AppId app_id = 1; QKDAppStatusEnum app_status = 2; QKDAppTypesEnum app_type = 3; string server_app_id = 4; repeated string client_app_id = 5; repeated QKDLId backing_qkdl_id = 6; context.DeviceId local_device_id = 7; context.DeviceId remote_device_id = 8; } message AppId { context.ContextId context_id = 1; context.Uuid app_uuid = 2; } service AppService { rpc RegisterApp(App) returns (context.Empty) {} rpc ListApps (context.ContextId ) returns ( AppList ) {} } message AppList { repeated App apps = 1; }