import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";

option cc_generic_services = true;

message CMsgTest_MessageToClient_Request {
	optional string some_text = 1;
}

message CMsgTest_MessageToClient_Response {
	optional string some_text = 1;
}

message CMsgTest_NotifyClient_Notification {
	optional string some_text = 1;
}

message CMsgTest_MessageToServer_Request {
	optional string some_text = 1;
}

message CMsgTest_MessageToServer_Response {
	optional string some_text = 1;
}

message CMsgTest_NotifyServer_Notification {
	optional string some_text = 1;
}

message CMsgTest_TestClientCall_Request {
	optional int32 param = 1;
}

message CMsgTest_TestClientCall_Response {
	optional int32 result = 1;
}

message CMsgTest_NoBody_Request {
}

message CMsgTest_CallClient_Response {
	optional int32 testvalue = 1;
}

service TestSteamClient {
	option (service_execution_site) = k_EProtoExecutionSiteSteamClient;

	rpc MessageToClient (.CMsgTest_MessageToClient_Request) returns (.CMsgTest_MessageToClient_Response);
	rpc NotifyClient (.CMsgTest_NotifyClient_Notification) returns (.NoResponse);
}

service TestServerFromClient {
	rpc MessageToServer (.CMsgTest_MessageToServer_Request) returns (.CMsgTest_MessageToServer_Response);
	rpc NotifyServer (.CMsgTest_NotifyServer_Notification) returns (.NoResponse);
	rpc ClientCallAuthed1 (.CMsgTest_TestClientCall_Request) returns (.CMsgTest_TestClientCall_Response);
	rpc ClientCallAuthed2 (.CMsgTest_TestClientCall_Request) returns (.CMsgTest_TestClientCall_Response);
	rpc ClientCallAuthed3 (.CMsgTest_TestClientCall_Request) returns (.CMsgTest_TestClientCall_Response);
	rpc ClientCallAuthed4 (.CMsgTest_TestClientCall_Request) returns (.CMsgTest_TestClientCall_Response);
}

service TestExternalPrivilege {
	rpc CallClient (.CMsgTest_NoBody_Request) returns (.CMsgTest_CallClient_Response);
}
