dfhack/library/proto/CoreProtocol.proto

93 lines
1.9 KiB
Protocol Buffer

syntax = "proto2";
package dfproto;
option optimize_for = LITE_RUNTIME;
message CoreTextFragment {
required string text = 1;
enum Color {
COLOR_BLACK = 0;
COLOR_BLUE = 1;
COLOR_GREEN = 2;
COLOR_CYAN = 3;
COLOR_RED = 4;
COLOR_MAGENTA = 5;
COLOR_BROWN = 6;
COLOR_GREY = 7;
COLOR_DARKGREY = 8;
COLOR_LIGHTBLUE = 9;
COLOR_LIGHTGREEN = 10;
COLOR_LIGHTCYAN = 11;
COLOR_LIGHTRED = 12;
COLOR_LIGHTMAGENTA = 13;
COLOR_YELLOW = 14;
COLOR_WHITE = 15;
};
optional Color color = 2;
}
message CoreTextNotification {
repeated CoreTextFragment fragments = 1;
}
message CoreErrorNotification {
enum ErrorCode {
CR_LINK_FAILURE = -3;
CR_WOULD_BREAK = -2;
CR_NOT_IMPLEMENTED = -1;
CR_OK = 0;
CR_FAILURE = 1;
CR_WRONG_USAGE = 2;
CR_NOT_FOUND = 3;
};
required ErrorCode code = 1;
}
message EmptyMessage {}
message IntMessage {
required int32 value = 1;
}
message IntListMessage {
repeated int32 value = 1;
}
message StringMessage {
required string value = 1;
}
message StringListMessage {
repeated string value = 1;
}
// RPC BindMethod : CoreBindRequest -> CoreBindReply
message CoreBindRequest {
required string method = 1;
required string input_msg = 2;
required string output_msg = 3;
optional string plugin = 4;
}
message CoreBindReply {
required int32 assigned_id = 1;
}
// RPC RunCommand : CoreRunCommandRequest -> EmptyMessage
message CoreRunCommandRequest {
required string command = 1;
repeated string arguments = 2;
}
// RPC CoreSuspend : EmptyMessage -> IntMessage
// RPC CoreResume : EmptyMessage -> IntMessage
// RPC RunLua : CoreRunLuaRequest -> StringListMessage
message CoreRunLuaRequest {
required string module = 1;
required string function = 2;
repeated string arguments = 3;
}