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; }