/* * Copyright 2015 Google Inc. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ syntax = "proto3"; package kythe.proto; option java_package = "com.google.devtools.kythe.proto"; // FileTreeService provides an interface to explore a tree of files. service FileTreeService { // CorpusRoots returns all known corpus/root pairs for stored files. rpc CorpusRoots(CorpusRootsRequest) returns (CorpusRootsReply) {} // Directory returns the file/sub-directory contents of the given directory. rpc Directory(DirectoryRequest) returns (DirectoryReply) {} } message CorpusRootsRequest {} message CorpusRootsReply { message Corpus { string name = 1; repeated string root = 2; } repeated Corpus corpus = 1; } message DirectoryRequest { string corpus = 1; string root = 2; string path = 3; } message DirectoryReply { // Set of tickets for each contained sub-directory's corpus, root, and path. repeated string subdirectory = 1; // Set of file tickets contained within this directory. repeated string file = 2; }