syntax = "proto2";

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

