107 lines
2.3 KiB
Protocol Buffer
Raw Normal View History

package rsctrl.peers:
///////////////////////////////////////////////////////////////
// Access, and Control your Friends / Peers and related Settings.
///////////////////////////////////////////////////////////////
enum ExtensionId { BASE = 0; }
enum PackageId { PEERS = 1; }
enum RequestMsgIds {
RequestPeers = 1;
RequestAddPeer = 2;
RequestModifyPeer = 2;
}
enum ResponseMsgIds {
ResponsePeerList = 1;
ResponseAddPeer = 2;
ResponseModifyPeer = 2;
}
///////////////////////////////////////////////////////////////
// REQUEST: RequestPeers
message RequestPeers {
// About Who?
enum SetOption {
LISTED = 1;
ONLINE = 2;
FRIENDS = 3;
VALID = 4;
ALL = 5;
}
// What do you want?
enum InfoOption {
NAMEONLY = 1;
BASIC = 2;
LOCATION = 3;
ALL = 4;
}
required SetOption set = 1;
required InfoOption info = 2;
repeated string gpg_ids = 3;
}
// RESPONSE: ResponsePeerList
message ResponsePeerList {
required rsctrl.base.Status status = 1;
repeated rsctrl.base.Person peers = 2;
}
///////////////////////////////////////////////////////////////
// REQUEST: RequestAddPeer
message RequestAddPeer {
enum AddCmd {
NOOP = 0; // No op.
ADD = 1; // Add existing from gpg_id.
REMOVE = 2; // Remove existing from gpg_id.
IMPORT = 3; // Import from cert, with gpg_id.
EXAMINE = 4; // Examine cert, but no action.
}
required string gpg_id = 1;
required AddCmd cmd = 2;
optional string cert = 3;
}
// RESPONSE: ResponseAddPeer
message ResponseAddPeer {
required rsctrl.base.Status status = 1;
repeated rsctrl.base.Person peers = 2;
}
///////////////////////////////////////////////////////////////
// REQUEST: RequestModifyPeer
message RequestModifyPeer {
enum ModCmd {
NOOP = 0;
ADDRESS = 1;
DYNDNS = 2;
//SOMETHING_ELSE = 0x0000010;
//SOMETHING_ELSE = 0x0000020;
//SOMETHING_ELSE = 0x0000040;
//SOMETHING_ELSE = 0x0000080;
}
required ModCmd cmd = 1;
//required int64 cmd = 1; // Could we OR the Cmds together?
repeated rsctrl.base.Person peers = 2;
}
// RESPONSE: ResponseModifyPeer
message ResponseModifyPeer {
required rsctrl.base.Status status = 1;
repeated rsctrl.base.Person peers = 2;
}
///////////////////////////////////////////////////////////////