import "common_base.proto"; message CPublishedFile_AddAppRelationship_Request { optional uint64 publishedfileid = 1; optional uint32 appid = 2; optional uint32 relationship = 3; } message CPublishedFile_AddAppRelationship_Response { } message CPublishedFile_AddChild_Request { optional uint64 publishedfileid = 1; optional uint64 child_publishedfileid = 2; } message CPublishedFile_AddChild_Response { } message CPublishedFile_AreFilesInSubscriptionList_Request { optional uint32 appid = 1; repeated fixed64 publishedfileids = 2; optional uint32 listtype = 3; optional uint32 filetype = 4; optional uint32 workshopfiletype = 5; } message CPublishedFile_AreFilesInSubscriptionList_Response { repeated .CPublishedFile_AreFilesInSubscriptionList_Response_InList files = 1; } message CPublishedFile_AreFilesInSubscriptionList_Response_InList { optional fixed64 publishedfileid = 1; optional bool inlist = 2; } message CPublishedFile_CanSubscribe_Request { optional uint64 publishedfileid = 1; } message CPublishedFile_CanSubscribe_Response { optional bool can_subscribe = 1; } message CPublishedFile_Delete_Request { optional fixed64 publishedfileid = 1; optional uint32 appid = 5; } message CPublishedFile_Delete_Response { } message CPublishedFile_FileDeleted_Client_Notification { optional fixed64 published_file_id = 1; optional uint32 app_id = 2; } message CPublishedFile_FileSubscribed_Notification { optional fixed64 published_file_id = 1; optional uint32 app_id = 2; optional fixed64 file_hcontent = 3; optional uint32 file_size = 4; optional uint32 rtime_subscribed = 5; optional bool is_depot_content = 6; optional uint32 rtime_updated = 7; repeated .CPublishedFile_FileSubscribed_Notification_RevisionData revisions = 8; } message CPublishedFile_FileSubscribed_Notification_RevisionData { optional int32 revision = 1 [(.description) = "enum"]; optional fixed64 file_hcontent = 2; optional uint32 rtime_updated = 3; } message CPublishedFile_FileUnsubscribed_Notification { optional fixed64 published_file_id = 1; optional uint32 app_id = 2; } message CPublishedFile_GetAppRelationships_Request { optional uint64 publishedfileid = 1; } message CPublishedFile_GetAppRelationships_Response { repeated .CPublishedFile_GetAppRelationships_Response_AppRelationship app_relationships = 3; } message CPublishedFile_GetAppRelationships_Response_AppRelationship { optional uint32 appid = 1; optional uint32 relationship = 2; } message CPublishedFile_GetAppRelationshipsBatched_Request { repeated uint64 publishedfileids = 1; optional uint32 filter_relationship = 2; } message CPublishedFile_GetAppRelationshipsBatched_Response { repeated .CPublishedFile_GetAppRelationshipsBatched_Response_PublishedFileAppRelationship relationships = 1; } message CPublishedFile_GetAppRelationshipsBatched_Response_AppRelationship { optional uint32 appid = 1; optional uint32 relationship = 2; } message CPublishedFile_GetAppRelationshipsBatched_Response_PublishedFileAppRelationship { optional uint64 publishedfileid = 1; optional uint32 result = 2; repeated .CPublishedFile_GetAppRelationshipsBatched_Response_AppRelationship app_relationships = 3; } message CPublishedFile_GetChangeHistory_Request { optional fixed64 publishedfileid = 1; optional bool total_only = 2; optional uint32 startindex = 3; optional uint32 count = 4; optional int32 language = 5 [default = 0]; } message CPublishedFile_GetChangeHistory_Response { repeated .CPublishedFile_GetChangeHistory_Response_ChangeLog changes = 1; optional uint32 total = 2; } message CPublishedFile_GetChangeHistory_Response_ChangeLog { optional uint32 timestamp = 1; optional string change_description = 2; optional int32 language = 3; } message CPublishedFile_GetChangeHistoryEntry_Request { optional fixed64 publishedfileid = 1; optional uint32 timestamp = 2; optional int32 language = 3; } message CPublishedFile_GetChangeHistoryEntry_Response { optional string change_description = 1; optional int32 language = 2; } message CPublishedFile_GetContentDescriptors_Request { optional fixed64 publishedfileid = 1; } message CPublishedFile_GetContentDescriptors_Response { repeated .CPublishedFile_GetContentDescriptors_Response_ContentDescriptor content_descriptors = 1; } message CPublishedFile_GetContentDescriptors_Response_ContentDescriptor { optional int32 descriptorid = 1 [(.description) = "enum"]; optional uint32 accountid = 2; optional uint32 timestamp = 3; optional bool moderator_set = 4; } message CPublishedFile_GetDetails_Request { repeated fixed64 publishedfileids = 1; optional bool includetags = 2; optional bool includeadditionalpreviews = 3; optional bool includechildren = 4; optional bool includekvtags = 5; optional bool includevotes = 6; optional bool short_description = 8; optional bool includeforsaledata = 10; optional bool includemetadata = 11; optional int32 language = 12 [default = 0]; optional uint32 return_playtime_stats = 13; optional uint32 appid = 14; optional bool strip_description_bbcode = 15; optional int32 desired_revision = 16 [default = 0, (.description) = "enum"]; optional bool includereactions = 17 [default = false]; } message CPublishedFile_GetDetails_Response { repeated .PublishedFileDetails publishedfiledetails = 1; } message CPublishedFile_GetItemChanges_Request { optional uint32 appid = 1; optional uint32 last_time_updated = 2; optional uint32 num_items_max = 3; } message CPublishedFile_GetItemChanges_Response { optional uint32 update_time = 1; repeated .CPublishedFile_GetItemChanges_Response_WorkshopItemInfo workshop_items = 2; } message CPublishedFile_GetItemChanges_Response_WorkshopItemInfo { optional fixed64 published_file_id = 1; optional uint32 time_updated = 2; optional fixed64 manifest_id = 3; } message CPublishedFile_GetItemInfo_Request { optional uint32 appid = 1; optional uint32 last_time_updated = 2; repeated .CPublishedFile_GetItemInfo_Request_WorkshopItem workshop_items = 3; } message CPublishedFile_GetItemInfo_Request_WorkshopItem { optional fixed64 published_file_id = 1; optional uint32 time_updated = 2; optional int32 desired_revision = 3 [default = 0, (.description) = "enum"]; } message CPublishedFile_GetItemInfo_Response { optional uint32 update_time = 1; repeated .CPublishedFile_GetItemInfo_Response_WorkshopItemInfo workshop_items = 2; repeated fixed64 private_items = 3; } message CPublishedFile_GetItemInfo_Response_WorkshopItemInfo { optional fixed64 published_file_id = 1; optional uint32 time_updated = 2; optional fixed64 manifest_id = 3; optional uint32 flags = 4; } message CPublishedFile_GetSubSectionData_Request { optional uint64 publishedfileid = 1; optional bool for_table_of_contents = 2; optional uint64 specific_sectionid = 3; optional int32 desired_revision = 4 [default = 0, (.description) = "enum"]; } message CPublishedFile_GetSubSectionData_Response { repeated .PublishedFileSubSection sub_sections = 1; } message CPublishedFile_GetUserFiles_Request { optional fixed64 steamid = 1; optional uint32 appid = 2; optional uint32 shortcutid = 3; optional uint32 page = 4 [default = 1]; optional uint32 numperpage = 5 [default = 1]; optional string type = 6 [default = "myfiles"]; optional string sortmethod = 7 [default = "lastupdated"]; optional uint32 privacy = 9; repeated string requiredtags = 10; repeated string excludedtags = 11; optional uint32 filetype = 14; optional uint32 creator_appid = 15; optional string match_cloud_filename = 16; optional bool totalonly = 17; optional bool ids_only = 18; optional bool return_vote_data = 19 [default = true]; optional bool return_tags = 20; optional bool return_kv_tags = 21 [default = true]; optional bool return_previews = 22; optional bool return_children = 23; optional bool return_short_description = 24 [default = true]; optional uint32 startindex_override = 25; optional bool return_for_sale_data = 26; optional uint32 cache_max_age_seconds = 27 [default = 0]; optional bool return_metadata = 28 [default = false]; optional int32 language = 29 [default = 0]; repeated .CPublishedFile_GetUserFiles_Request_KVTag required_kv_tags = 30; optional uint32 return_playtime_stats = 31; optional bool strip_description_bbcode = 32; optional int32 desired_revision = 33 [default = 0, (.description) = "enum"]; repeated .CPublishedFile_GetUserFiles_Request_TagGroup taggroups = 34; optional bool return_reactions = 35 [default = false]; optional bool return_apps = 36; repeated int32 excluded_content_descriptors = 37 [(.description) = "enum"]; } message CPublishedFile_GetUserFiles_Request_KVTag { optional string key = 1; optional string value = 2; } message CPublishedFile_GetUserFiles_Request_TagGroup { repeated string tags = 1; } message CPublishedFile_GetUserFiles_Response { optional uint32 total = 1; optional uint32 startindex = 2; repeated .PublishedFileDetails publishedfiledetails = 3; repeated .CPublishedFile_GetUserFiles_Response_App apps = 4; } message CPublishedFile_GetUserFiles_Response_App { optional uint32 appid = 1; optional string name = 2; optional uint32 shortcutid = 3; optional bool private = 4; } message CPublishedFile_GetUserVoteSummary_Request { repeated fixed64 publishedfileids = 1; } message CPublishedFile_GetUserVoteSummary_Response { repeated .CPublishedFile_GetUserVoteSummary_Response_VoteSummary summaries = 1; } message CPublishedFile_GetUserVoteSummary_Response_VoteSummary { optional fixed64 publishedfileid = 1; optional bool vote_for = 2; optional bool vote_against = 3; optional bool reported = 4; } message CPublishedFile_Publish_Request { optional uint32 appid = 1; optional uint32 consumer_appid = 2; optional string cloudfilename = 3; optional string preview_cloudfilename = 4; optional string title = 5; optional string file_description = 6; optional uint32 file_type = 7; optional string consumer_shortcut_name = 8; optional string youtube_username = 9; optional string youtube_videoid = 10; optional uint32 visibility = 11; optional string redirect_uri = 12; repeated string tags = 13; optional string collection_type = 14; optional string game_type = 15; optional string url = 16; } message CPublishedFile_Publish_Response { optional uint64 publishedfileid = 1; optional string redirect_uri = 2; } message CPublishedFile_QueryFiles_Request { optional uint32 query_type = 1; optional uint32 page = 2; optional uint32 numperpage = 3 [default = 1]; optional uint32 creator_appid = 4; optional uint32 appid = 5; repeated string requiredtags = 6; repeated string excludedtags = 7; optional bool match_all_tags = 8 [default = true]; repeated string required_flags = 9; repeated string omitted_flags = 10; optional string search_text = 11; optional uint32 filetype = 12; optional fixed64 child_publishedfileid = 13; optional uint32 days = 14; optional bool include_recent_votes_only = 15; optional bool totalonly = 16; optional bool return_vote_data = 17; optional bool return_tags = 18; optional bool return_kv_tags = 19; optional bool return_previews = 20; optional bool return_children = 21; optional bool return_short_description = 22; optional bool return_for_sale_data = 30; optional uint32 cache_max_age_seconds = 31 [default = 0]; optional bool return_metadata = 32 [default = false]; optional int32 language = 33 [default = 0]; repeated .CPublishedFile_QueryFiles_Request_KVTag required_kv_tags = 34; optional bool ids_only = 35; optional uint32 return_playtime_stats = 36; optional bool return_details = 37; optional bool strip_description_bbcode = 38; optional string cursor = 39; optional int32 desired_revision = 40 [default = 0, (.description) = "enum"]; repeated .CPublishedFile_QueryFiles_Request_TagGroup taggroups = 42; optional bool return_reactions = 43 [default = false]; optional .CPublishedFile_QueryFiles_Request_DateRange date_range_created = 44; optional .CPublishedFile_QueryFiles_Request_DateRange date_range_updated = 45; repeated int32 excluded_content_descriptors = 46 [(.description) = "enum"]; } message CPublishedFile_QueryFiles_Request_DateRange { optional uint32 timestamp_start = 1; optional uint32 timestamp_end = 2; } message CPublishedFile_QueryFiles_Request_KVTag { optional string key = 1; optional string value = 2; } message CPublishedFile_QueryFiles_Request_TagGroup { repeated string tags = 1; } message CPublishedFile_QueryFiles_Response { optional uint32 total = 1; repeated .PublishedFileDetails publishedfiledetails = 2; optional string next_cursor = 3; } message CPublishedFile_RefreshVotingQueue_Request { optional uint32 appid = 1; optional uint32 matching_file_type = 2; repeated string tags = 3; optional bool match_all_tags = 4 [default = true]; repeated string excluded_tags = 5; optional uint32 desired_queue_size = 6; optional int32 desired_revision = 8 [default = 0, (.description) = "enum"]; } message CPublishedFile_RefreshVotingQueue_Response { } message CPublishedFile_RemoveAppRelationship_Request { optional uint64 publishedfileid = 1; optional uint32 appid = 2; optional uint32 relationship = 3; } message CPublishedFile_RemoveAppRelationship_Response { } message CPublishedFile_RemoveChild_Request { optional uint64 publishedfileid = 1; optional uint64 child_publishedfileid = 2; } message CPublishedFile_RemoveChild_Response { } message CPublishedFile_SetCollectionChildren_Request { optional uint32 appid = 1; optional uint64 publishedfileid = 2; repeated uint64 children = 3; } message CPublishedFile_SetCollectionChildren_Response { } message CPublishedFile_SetPlaytimeForControllerConfigs_Request { optional uint32 appid = 1; repeated .CPublishedFile_SetPlaytimeForControllerConfigs_Request_ControllerConfigUsage controller_config_usage = 2; } message CPublishedFile_SetPlaytimeForControllerConfigs_Request_ControllerConfigUsage { optional uint64 publishedfileid = 1; optional float seconds_active = 2; } message CPublishedFile_SetPlaytimeForControllerConfigs_Response { } message CPublishedFile_SetSubscriptionListFromCollection_Request { optional uint32 appid = 1; optional uint32 list_type = 2; optional uint64 publishedfileid = 3; optional bool add_only = 4; } message CPublishedFile_SetSubscriptionListFromCollection_Response { } message CPublishedFile_StartPlaytimeTracking_Request { optional uint32 appid = 1; repeated uint64 publishedfileids = 2; } message CPublishedFile_StartPlaytimeTracking_Response { } message CPublishedFile_StopPlaytimeTracking_Request { optional uint32 appid = 1; repeated uint64 publishedfileids = 2; } message CPublishedFile_StopPlaytimeTracking_Response { } message CPublishedFile_StopPlaytimeTrackingForAllAppItems_Request { optional uint32 appid = 1; } message CPublishedFile_StopPlaytimeTrackingForAllAppItems_Response { } message CPublishedFile_Subscribe_Request { optional uint64 publishedfileid = 1; optional uint32 list_type = 2; optional int32 appid = 3; optional bool notify_client = 4; optional bool include_dependencies = 5; } message CPublishedFile_Subscribe_Response { } message CPublishedFile_Unsubscribe_Request { optional uint64 publishedfileid = 1; optional uint32 list_type = 2; optional int32 appid = 3; optional bool notify_client = 4; } message CPublishedFile_Unsubscribe_Response { } message CPublishedFile_Update_Request { optional uint32 appid = 1; optional fixed64 publishedfileid = 2; optional string title = 3; optional string file_description = 4; optional uint32 visibility = 5; repeated string tags = 6; optional string filename = 7; optional string preview_filename = 8; optional bool spoiler_tag = 10; optional uint32 image_width = 15; optional uint32 image_height = 16; optional int32 language = 17; } message CPublishedFile_Update_Response { } message CPublishedFile_UpdateContentDescriptors_Request { optional fixed64 publishedfileid = 1; repeated int32 descriptors_to_add = 2 [(.description) = "enum"]; repeated int32 descriptors_to_remove = 3 [(.description) = "enum"]; } message CPublishedFile_UpdateContentDescriptors_Response { optional uint32 timestamp_updated = 1; } message CPublishedFile_Vote_Request { optional uint64 publishedfileid = 1; optional bool vote_up = 2; } message CPublishedFile_Vote_Response { } message PublishedFileDetails { optional uint32 result = 1; optional uint64 publishedfileid = 2; optional fixed64 creator = 3; optional uint32 creator_appid = 4; optional uint32 consumer_appid = 5; optional uint32 consumer_shortcutid = 6; optional string filename = 7; optional uint64 file_size = 8; optional uint64 preview_file_size = 9; optional string file_url = 10; optional string preview_url = 11; optional string youtubevideoid = 12; optional string url = 13; optional fixed64 hcontent_file = 14; optional fixed64 hcontent_preview = 15; optional string title = 16; optional string file_description = 17; optional string short_description = 18; optional uint32 time_created = 19; optional uint32 time_updated = 20; optional uint32 visibility = 21; optional uint32 flags = 22; optional bool workshop_file = 23; optional bool workshop_accepted = 24; optional bool show_subscribe_all = 25; optional int32 num_comments_developer = 26; optional int32 num_comments_public = 27; optional bool banned = 28; optional string ban_reason = 29; optional fixed64 banner = 30; optional bool can_be_deleted = 31; optional bool incompatible = 32; optional string app_name = 33; optional uint32 file_type = 34; optional bool can_subscribe = 35; optional uint32 subscriptions = 36; optional uint32 favorited = 37; optional uint32 followers = 38; optional uint32 lifetime_subscriptions = 39; optional uint32 lifetime_favorited = 40; optional uint32 lifetime_followers = 41; optional uint32 views = 42; optional uint32 image_width = 43; optional uint32 image_height = 44; optional string image_url = 45; optional bool spoiler_tag = 46; optional uint32 shortcutid = 47; optional string shortcutname = 48; optional uint32 num_children = 49; optional uint32 num_reports = 50; repeated .PublishedFileDetails_Preview previews = 51; repeated .PublishedFileDetails_Tag tags = 52; repeated .PublishedFileDetails_Child children = 53; repeated .PublishedFileDetails_KVTag kvtags = 54; optional .PublishedFileDetails_VoteData vote_data = 55; optional uint32 time_subscribed = 56; optional .PublishedFileDetails_ForSaleData for_sale_data = 57; optional string metadata = 58; optional int32 language = 61 [default = 0]; optional uint64 lifetime_playtime = 62; optional uint64 lifetime_playtime_sessions = 63; optional .PublishedFileDetails_PlaytimeStats playtime_stats = 64; optional bool maybe_inappropriate_sex = 65; optional bool maybe_inappropriate_violence = 66; optional uint64 revision_change_number = 67; optional int32 revision = 68 [(.description) = "enum"]; repeated int32 available_revisions = 69 [(.description) = "enum"]; repeated .PublishedFileDetails_Reaction reactions = 70; optional int32 ban_text_check_result = 71 [(.description) = "enum"]; repeated int32 content_descriptorids = 72 [(.description) = "enum"]; optional float search_score = 73; optional uint64 external_asset_id = 74; } message PublishedFileDetails_Child { optional uint64 publishedfileid = 1; optional uint32 sortorder = 2; optional uint32 file_type = 3; } message PublishedFileDetails_ForSaleData { optional bool is_for_sale = 1; optional uint32 price_category = 2; optional int32 estatus = 3 [(.description) = "enum"]; optional uint32 price_category_floor = 4; optional bool price_is_pay_what_you_want = 5; optional uint32 discount_percentage = 6; } message PublishedFileDetails_KVTag { optional string key = 1; optional string value = 2; } message PublishedFileDetails_PlaytimeStats { optional uint64 playtime_seconds = 1; optional uint64 num_sessions = 2; } message PublishedFileDetails_Preview { optional uint64 previewid = 1; optional uint32 sortorder = 2; optional string url = 3; optional uint32 size = 4; optional string filename = 5; optional string youtubevideoid = 6; optional uint32 preview_type = 7; optional string external_reference = 8; } message PublishedFileDetails_Reaction { optional uint32 reactionid = 1; optional uint32 count = 2; } message PublishedFileDetails_Tag { optional string tag = 1; optional bool adminonly = 2; optional string display_name = 3; } message PublishedFileDetails_VoteData { optional float score = 1; optional uint32 votes_up = 2; optional uint32 votes_down = 3; } message PublishedFileSubSection { optional uint64 sectionid = 1; optional string title = 2; optional string description_text = 3; optional uint32 sort_order = 4; } service PublishedFile { rpc AddAppRelationship (.CPublishedFile_AddAppRelationship_Request) returns (.CPublishedFile_AddAppRelationship_Response); rpc AddChild (.CPublishedFile_AddChild_Request) returns (.CPublishedFile_AddChild_Response); rpc AreFilesInSubscriptionList (.CPublishedFile_AreFilesInSubscriptionList_Request) returns (.CPublishedFile_AreFilesInSubscriptionList_Response); rpc CanSubscribe (.CPublishedFile_CanSubscribe_Request) returns (.CPublishedFile_CanSubscribe_Response); rpc Delete (.CPublishedFile_Delete_Request) returns (.CPublishedFile_Delete_Response); rpc GetAppRelationships (.CPublishedFile_GetAppRelationships_Request) returns (.CPublishedFile_GetAppRelationships_Response); rpc GetAppRelationshipsBatched (.CPublishedFile_GetAppRelationshipsBatched_Request) returns (.CPublishedFile_GetAppRelationshipsBatched_Response); rpc GetChangeHistory (.CPublishedFile_GetChangeHistory_Request) returns (.CPublishedFile_GetChangeHistory_Response); rpc GetChangeHistoryEntry (.CPublishedFile_GetChangeHistoryEntry_Request) returns (.CPublishedFile_GetChangeHistoryEntry_Response); rpc GetContentDescriptors (.CPublishedFile_GetContentDescriptors_Request) returns (.CPublishedFile_GetContentDescriptors_Response); rpc GetDetails (.CPublishedFile_GetDetails_Request) returns (.CPublishedFile_GetDetails_Response); rpc GetItemChanges (.CPublishedFile_GetItemChanges_Request) returns (.CPublishedFile_GetItemChanges_Response); rpc GetItemInfo (.CPublishedFile_GetItemInfo_Request) returns (.CPublishedFile_GetItemInfo_Response); rpc GetSubSectionData (.CPublishedFile_GetSubSectionData_Request) returns (.CPublishedFile_GetSubSectionData_Response); rpc GetUserFileCount (.CPublishedFile_GetUserFiles_Request) returns (.CPublishedFile_GetUserFiles_Response); rpc GetUserFiles (.CPublishedFile_GetUserFiles_Request) returns (.CPublishedFile_GetUserFiles_Response); rpc GetUserVoteSummary (.CPublishedFile_GetUserVoteSummary_Request) returns (.CPublishedFile_GetUserVoteSummary_Response); rpc Publish (.CPublishedFile_Publish_Request) returns (.CPublishedFile_Publish_Response); rpc QueryFiles (.CPublishedFile_QueryFiles_Request) returns (.CPublishedFile_QueryFiles_Response); rpc RefreshVotingQueue (.CPublishedFile_RefreshVotingQueue_Request) returns (.CPublishedFile_RefreshVotingQueue_Response); rpc RemoveAppRelationship (.CPublishedFile_RemoveAppRelationship_Request) returns (.CPublishedFile_RemoveAppRelationship_Response); rpc RemoveChild (.CPublishedFile_RemoveChild_Request) returns (.CPublishedFile_RemoveChild_Response); rpc SetCollectionChildren (.CPublishedFile_SetCollectionChildren_Request) returns (.CPublishedFile_SetCollectionChildren_Response); rpc SetPlaytimeForControllerConfigs (.CPublishedFile_SetPlaytimeForControllerConfigs_Request) returns (.CPublishedFile_SetPlaytimeForControllerConfigs_Response); rpc SetSubscriptionListFromCollection (.CPublishedFile_SetSubscriptionListFromCollection_Request) returns (.CPublishedFile_SetSubscriptionListFromCollection_Response); rpc StartPlaytimeTracking (.CPublishedFile_StartPlaytimeTracking_Request) returns (.CPublishedFile_StartPlaytimeTracking_Response); rpc StopPlaytimeTracking (.CPublishedFile_StopPlaytimeTracking_Request) returns (.CPublishedFile_StopPlaytimeTracking_Response); rpc StopPlaytimeTrackingForAllAppItems (.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Request) returns (.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Response); rpc Subscribe (.CPublishedFile_Subscribe_Request) returns (.CPublishedFile_Subscribe_Response); rpc Unsubscribe (.CPublishedFile_Unsubscribe_Request) returns (.CPublishedFile_Unsubscribe_Response); rpc Update (.CPublishedFile_Update_Request) returns (.CPublishedFile_Update_Response); rpc UpdateContentDescriptors (.CPublishedFile_UpdateContentDescriptors_Request) returns (.CPublishedFile_UpdateContentDescriptors_Response); rpc Vote (.CPublishedFile_Vote_Request) returns (.CPublishedFile_Vote_Response); } service PublishedFileClient { rpc NotifyFileDeleted (.CPublishedFile_FileDeleted_Client_Notification) returns (.NoResponse); rpc NotifyFileSubscribed (.CPublishedFile_FileSubscribed_Notification) returns (.NoResponse); rpc NotifyFileUnsubscribed (.CPublishedFile_FileUnsubscribed_Notification) returns (.NoResponse); }