import "steammessages_base.proto";
import "webuimessages_base.proto";

option optimize_for = SPEED;
option cc_generic_services = true;

message CSteamEngine_UpdateTextFilterDictionary_Notification {
	required string language = 1;
	required string type = 2;
}

message CSteamEngine_GetTextFilterDictionary_Request {
	required string language = 1;
	required string type = 2;
}

message CSteamEngine_GetTextFilterDictionary_Response {
	optional string dictionary = 1;
}

message CSteamEngine_TextFilterDictionaryChanged_Notification {
	required string language = 1;
	required string type = 2;
}

message CSteamEngine_GetGameIDForPID_Request {
	optional uint32 pid = 1;
}

message CSteamEngine_GetGameIDForPID_Response {
	optional uint64 gameid = 1;
}

message CSteamEngine_SetOverlayEscapeKeyHandling_Notification {
	required uint64 gameid = 1;
	required bool should_handle = 2;
}

message CSteamEngine_SearchAppDataCacheByStoreKeywords_Request {
	optional string search_term = 1;
	optional uint32 max_results = 2;
}

message CSteamEngine_SearchAppDataCacheByStoreKeywords_Response {
	repeated uint32 appids = 1;
}

service SteamEngine {
	option (webui_service_execution_site) = k_EClientExecutionSiteClientdll;

	rpc UpdateTextFilterDictionary (.CSteamEngine_UpdateTextFilterDictionary_Notification) returns (.WebUINoResponse);
	rpc GetTextFilterDictionary (.CSteamEngine_GetTextFilterDictionary_Request) returns (.CSteamEngine_GetTextFilterDictionary_Response);
	rpc NotifyTextFilterDictionaryChanged (.CSteamEngine_TextFilterDictionaryChanged_Notification) returns (.WebUINoResponse);
	rpc GetGameIDForPID (.CSteamEngine_GetGameIDForPID_Request) returns (.CSteamEngine_GetGameIDForPID_Response);
	rpc SetOverlayEscapeKeyHandling (.CSteamEngine_SetOverlayEscapeKeyHandling_Notification) returns (.WebUINoResponse);
	rpc SearchAppDataCacheByStoreKeywords (.CSteamEngine_SearchAppDataCacheByStoreKeywords_Request) returns (.CSteamEngine_SearchAppDataCacheByStoreKeywords_Response);
}
