// Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html syntax = "proto3"; option java_multiple_files = true; package anki.frontend; import "anki/scheduler.proto"; import "anki/generic.proto"; import "anki/search.proto"; import "anki/notes.proto"; service FrontendService { // Returns values from the reviewer rpc GetSchedulingStatesWithContext(generic.Empty) returns (SchedulingStatesWithContext); // Updates reviewer state rpc SetSchedulingStates(SetSchedulingStatesRequest) returns (generic.Empty); // Notify Qt layer so window modality can be updated. rpc ImportDone(generic.Empty) returns (generic.Empty); rpc SearchInBrowser(search.SearchNode) returns (generic.Empty); // Force closing the deck options. rpc deckOptionsRequireClose(generic.Empty) returns (generic.Empty); // Warns python that the deck option web view is ready to receive requests. rpc deckOptionsReady(generic.Empty) returns (generic.Empty); // Editor rpc editorUpdateNote(notes.UpdateNotesRequest) returns (generic.Empty); // Profile config rpc GetProfileConfigJson(generic.String) returns (generic.Json); rpc SetProfileConfigJson(SetSettingJsonRequest) returns (generic.Empty); // Metadata rpc GetMetaJson(generic.String) returns (generic.Json); rpc SetMetaJson(SetSettingJsonRequest) returns (generic.Empty); } service BackendFrontendService {} message SchedulingStatesWithContext { scheduler.SchedulingStates states = 1; scheduler.SchedulingContext context = 2; } message SetSchedulingStatesRequest { string key = 1; scheduler.SchedulingStates states = 2; } message SetSettingJsonRequest { string key = 1; bytes value_json = 2; }