From 100c6453fd2bd01a85eb123e32af0402c069be62 Mon Sep 17 00:00:00 2001 From: Lody Date: Fri, 26 Sep 2025 22:51:34 +0800 Subject: [PATCH] Add publishedfile proto. --- .../steamclient/enums_productinfo.proto | 12 + ...ammessages_publishedfile.steamclient.proto | 767 ++++++++++++++++++ .../javasteam/rpc/UnifiedInterfaceTest.kt | 2 + 3 files changed, 781 insertions(+) create mode 100644 src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/enums_productinfo.proto create mode 100644 src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_publishedfile.steamclient.proto diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/enums_productinfo.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/enums_productinfo.proto new file mode 100644 index 00000000..c517f7e8 --- /dev/null +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/enums_productinfo.proto @@ -0,0 +1,12 @@ +option java_package = "in.dragonbra.javasteam.protobufs.steamclient"; + +option optimize_for = SPEED; + +enum EContentDescriptorID { + k_EContentDescriptor_NudityOrSexualContent = 1; + k_EContentDescriptor_FrequentViolenceOrGore = 2; + k_EContentDescriptor_AdultOnlySexualContent = 3; + k_EContentDescriptor_GratuitousSexualContent = 4; + k_EContentDescriptor_AnyMatureContent = 5; + k_EContentDescriptorMAX = 6; +} diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_publishedfile.steamclient.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_publishedfile.steamclient.proto new file mode 100644 index 00000000..a6a473ce --- /dev/null +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_publishedfile.steamclient.proto @@ -0,0 +1,767 @@ +import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_base.proto"; +import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_unified_base.steamclient.proto"; +import "in/dragonbra/javasteam/protobufs/steamclient/enums_productinfo.proto"; + +option java_package = "in.dragonbra.javasteam.protobufs.steamclient"; + +option optimize_for = SPEED; +option java_generic_services = false; + +enum EPublishedFileRevision { + k_EPublishedFileRevision_Default = 0; + k_EPublishedFileRevision_Latest = 1; + k_EPublishedFileRevision_ApprovedSnapshot = 2; + k_EPublishedFileRevision_ApprovedSnapshot_China = 3; + k_EPublishedFileRevision_RejectedSnapshot = 4; + k_EPublishedFileRevision_RejectedSnapshot_China = 5; + k_EPublishedFileRevision_AuthorSnapshot = 6; +} + +enum EPublishedFileForSaleStatus { + k_PFFSS_NotForSale = 0; + k_PFFSS_PendingApproval = 1; + k_PFFSS_ApprovedForSale = 2; + k_PFFSS_RejectedForSale = 3; + k_PFFSS_NoLongerForSale = 4; + k_PFFSS_TentativeApproval = 5; +} + +message CPublishedFile_Vote_Request { + optional uint64 publishedfileid = 1; + optional bool vote_up = 2; +} + +message CPublishedFile_Vote_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_CanSubscribe_Request { + optional uint64 publishedfileid = 1; +} + +message CPublishedFile_CanSubscribe_Response { + optional bool can_subscribe = 1; +} + +message CPublishedFile_GetSubSectionData_Request { + optional uint64 publishedfileid = 1; + optional bool for_table_of_contents = 2; + optional uint64 specific_sectionid = 3; + optional .EPublishedFileRevision desired_revision = 4 [default = k_EPublishedFileRevision_Default]; +} + +message PublishedFileSubSection { + optional uint64 sectionid = 1; + optional string title = 2; + optional string description_text = 3; + optional uint32 sort_order = 4; +} + +message CPublishedFile_GetSubSectionData_Response { + repeated .PublishedFileSubSection sub_sections = 1; +} + +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_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 .EPublishedFileRevision desired_revision = 16 [default = k_EPublishedFileRevision_Default]; + optional bool includereactions = 17 [default = false]; + optional bool admin_query = 18; +} + +message PublishedFileAuthorSnapshot { + optional uint32 timestamp = 1; + optional string game_branch_min = 2; + optional string game_branch_max = 3; + optional fixed64 manifestid = 4; +} + +message PublishedFileDetails { + message Tag { + optional string tag = 1; + optional bool adminonly = 2; + optional string display_name = 3; + } + + message 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 Child { + optional uint64 publishedfileid = 1; + optional uint32 sortorder = 2; + optional uint32 file_type = 3; + } + + message KVTag { + optional string key = 1; + optional string value = 2; + } + + message VoteData { + optional float score = 1; + optional uint32 votes_up = 2; + optional uint32 votes_down = 3; + optional float trusted_score = 4; + optional uint32 trusted_votes_up = 5; + optional uint32 trusted_votes_down = 6; + } + + message ForSaleData { + optional bool is_for_sale = 1; + optional uint32 price_category = 2; + optional .EPublishedFileForSaleStatus estatus = 3 [default = k_PFFSS_NotForSale]; + optional uint32 price_category_floor = 4; + optional bool price_is_pay_what_you_want = 5; + optional uint32 discount_percentage = 6; + } + + message PlaytimeStats { + optional uint64 playtime_seconds = 1; + optional uint64 num_sessions = 2; + } + + message Reaction { + optional uint32 reactionid = 1; + optional uint32 count = 2; + } + + 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 uint64 lifetime_playtime = 62; + optional uint64 lifetime_playtime_sessions = 63; + 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 .PublishedFileDetails.PlaytimeStats playtime_stats = 64; + optional uint32 time_subscribed = 56; + optional .PublishedFileDetails.ForSaleData for_sale_data = 57; + optional string metadata = 58; + optional int32 language = 61 [default = 0]; + optional bool maybe_inappropriate_sex = 65; + optional bool maybe_inappropriate_violence = 66; + repeated .EContentDescriptorID content_descriptorids = 72; + optional uint64 revision_change_number = 67; + optional .EPublishedFileRevision revision = 68 [default = k_EPublishedFileRevision_Default]; + repeated .EPublishedFileRevision available_revisions = 69; + repeated .PublishedFileDetails.Reaction reactions = 70; + optional .EBanContentCheckResult ban_text_check_result = 71 [default = k_EBanContentCheckResult_NotScanned]; + optional float search_score = 73; + optional uint64 external_asset_id = 74; + repeated .PublishedFileAuthorSnapshot author_snapshots = 75; +} + +message CPublishedFile_GetDetails_Response { + repeated .PublishedFileDetails publishedfiledetails = 1; +} + +message CPublishedFile_GetItemInfo_Request { + message WorkshopItem { + optional fixed64 published_file_id = 1; + optional uint32 time_updated = 2; + optional .EPublishedFileRevision desired_revision = 3 [default = k_EPublishedFileRevision_Default]; + } + + optional uint32 appid = 1; + optional uint32 last_time_updated = 2; + repeated .CPublishedFile_GetItemInfo_Request.WorkshopItem workshop_items = 3; +} + +message CPublishedFile_GetItemInfo_Response { + message WorkshopItemInfo { + optional fixed64 published_file_id = 1; + optional uint32 time_updated = 2; + optional fixed64 manifest_id = 3; + optional uint32 flags = 4; + optional .EPublishedFileRevision revision = 5 [default = k_EPublishedFileRevision_Default]; + repeated .PublishedFileAuthorSnapshot author_snapshots = 6; + } + + optional uint32 update_time = 1; + repeated .CPublishedFile_GetItemInfo_Response.WorkshopItemInfo workshop_items = 2; + repeated fixed64 private_items = 3; +} + +message CPublishedFile_GetUserFiles_Request { + message KVTag { + optional string key = 1; + optional string value = 2; + } + + message TagGroup { + repeated string tags = 1; + } + + 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; + repeated .CPublishedFile_GetUserFiles_Request.KVTag required_kv_tags = 30; + optional uint32 filetype = 14; + optional uint32 creator_appid = 15; + optional string match_cloud_filename = 16; + optional uint32 cache_max_age_seconds = 27 [default = 0]; + optional int32 language = 29 [default = 0]; + repeated .CPublishedFile_GetUserFiles_Request.TagGroup taggroups = 34; + repeated .EContentDescriptorID excluded_content_descriptors = 37; + optional bool admin_query = 38; + 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 bool return_for_sale_data = 26; + optional bool return_metadata = 28 [default = false]; + optional uint32 return_playtime_stats = 31; + optional bool strip_description_bbcode = 32; + optional bool return_reactions = 35 [default = false]; + optional uint32 startindex_override = 25; + optional .EPublishedFileRevision desired_revision = 33 [default = k_EPublishedFileRevision_Default]; + optional bool return_apps = 36; +} + +message CPublishedFile_GetUserFiles_Response { + message App { + optional uint32 appid = 1; + optional string name = 2; + optional uint32 shortcutid = 3; + optional bool private = 4; + } + + optional uint32 total = 1; + optional uint32 startindex = 2; + repeated .PublishedFileDetails publishedfiledetails = 3; + repeated .CPublishedFile_GetUserFiles_Response.App apps = 4; +} + +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 { + message InList { + optional fixed64 publishedfileid = 1; + optional bool inlist = 2; + } + + repeated .CPublishedFile_AreFilesInSubscriptionList_Response.InList files = 1; +} + +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_Delete_Request { + optional fixed64 publishedfileid = 1; + optional uint32 appid = 5; +} + +message CPublishedFile_Delete_Response { +} + +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; + optional bool saved_snapshot = 3; + optional string snapshot_game_branch_min = 4; + optional string snapshot_game_branch_max = 5; + optional fixed64 manifest_id = 6; +} + +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 { + message ChangeLog { + optional uint32 timestamp = 1; + optional string change_description = 2; + optional int32 language = 3; + optional bool saved_snapshot = 4; + optional string snapshot_game_branch_min = 5; + optional string snapshot_game_branch_max = 6; + optional fixed64 manifest_id = 7; + } + + repeated .CPublishedFile_GetChangeHistory_Response.ChangeLog changes = 1; + optional uint32 total = 2; +} + +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 .EPublishedFileRevision desired_revision = 8 [default = k_EPublishedFileRevision_Default]; +} + +message CPublishedFile_RefreshVotingQueue_Response { +} + +message CPublishedFile_QueryFiles_Request { + message KVTag { + optional string key = 1; + optional string value = 2; + } + + message TagGroup { + repeated string tags = 1; + } + + message DateRange { + optional uint32 timestamp_start = 1; + optional uint32 timestamp_end = 2; + } + + optional uint32 query_type = 1; + optional uint32 page = 2; + optional string cursor = 39; + 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 uint32 cache_max_age_seconds = 31 [default = 0]; + optional int32 language = 33 [default = 0]; + repeated .CPublishedFile_QueryFiles_Request.KVTag required_kv_tags = 34; + repeated .CPublishedFile_QueryFiles_Request.TagGroup taggroups = 42; + optional .CPublishedFile_QueryFiles_Request.DateRange date_range_created = 44; + optional .CPublishedFile_QueryFiles_Request.DateRange date_range_updated = 45; + repeated .EContentDescriptorID excluded_content_descriptors = 46; + optional bool admin_query = 47; + optional bool totalonly = 16; + optional bool ids_only = 35; + 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 bool return_metadata = 32 [default = false]; + optional uint32 return_playtime_stats = 36; + optional bool return_details = 37; + optional bool strip_description_bbcode = 38; + optional .EPublishedFileRevision desired_revision = 40 [default = k_EPublishedFileRevision_Default]; + optional bool return_reactions = 43 [default = false]; +} + +message CPublishedFile_QueryFiles_Response { + optional uint32 total = 1; + repeated .PublishedFileDetails publishedfiledetails = 2; + optional string next_cursor = 3; +} + +message CPublishedFile_AddAppRelationship_Request { + optional uint64 publishedfileid = 1; + optional uint32 appid = 2; + optional uint32 relationship = 3; +} + +message CPublishedFile_AddAppRelationship_Response { +} + +message CPublishedFile_RemoveAppRelationship_Request { + optional uint64 publishedfileid = 1; + optional uint32 appid = 2; + optional uint32 relationship = 3; +} + +message CPublishedFile_RemoveAppRelationship_Response { +} + +message CPublishedFile_GetAppRelationships_Request { + optional uint64 publishedfileid = 1; +} + +message CPublishedFile_GetAppRelationships_Response { + message AppRelationship { + optional uint32 appid = 1; + optional uint32 relationship = 2; + } + + repeated .CPublishedFile_GetAppRelationships_Response.AppRelationship app_relationships = 3; +} + +message CPublishedFile_GetAppRelationshipsBatched_Request { + repeated uint64 publishedfileids = 1; + optional uint32 filter_relationship = 2; +} + +message CPublishedFile_GetAppRelationshipsBatched_Response { + message AppRelationship { + optional uint32 appid = 1; + optional uint32 relationship = 2; + } + + message PublishedFileAppRelationship { + optional uint64 publishedfileid = 1; + optional uint32 result = 2; + repeated .CPublishedFile_GetAppRelationshipsBatched_Response.AppRelationship app_relationships = 3; + } + + repeated .CPublishedFile_GetAppRelationshipsBatched_Response.PublishedFileAppRelationship relationships = 1; +} + +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_SetPlaytimeForControllerConfigs_Request { + message ControllerConfigUsage { + optional uint64 publishedfileid = 1; + optional float seconds_active = 2; + } + + optional uint32 appid = 1; + repeated .CPublishedFile_SetPlaytimeForControllerConfigs_Request.ControllerConfigUsage controller_config_usage = 2; +} + +message CPublishedFile_SetPlaytimeForControllerConfigs_Response { +} + +message CPublishedFile_AddChild_Request { + optional uint64 publishedfileid = 1; + optional uint64 child_publishedfileid = 2; +} + +message CPublishedFile_AddChild_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_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_GetUserVoteSummary_Request { + repeated fixed64 publishedfileids = 1; +} + +message CPublishedFile_GetUserVoteSummary_Response { + message VoteSummary { + optional fixed64 publishedfileid = 1; + optional bool vote_for = 2; + optional bool vote_against = 3; + optional bool reported = 4; + } + + repeated .CPublishedFile_GetUserVoteSummary_Response.VoteSummary summaries = 1; +} + +message CPublishedFile_GetItemChanges_Request { + optional uint32 appid = 1; + optional uint32 last_time_updated = 2; + optional uint32 num_items_max = 3; + optional .EPublishedFileRevision desired_revision = 4 [default = k_EPublishedFileRevision_Default]; +} + +message CPublishedFile_GetItemChanges_Response { + message WorkshopItemInfo { + optional fixed64 published_file_id = 1; + optional uint32 time_updated = 2; + optional fixed64 manifest_id = 3; + repeated .PublishedFileAuthorSnapshot author_snapshots = 4; + } + + optional uint32 update_time = 1; + repeated .CPublishedFile_GetItemChanges_Response.WorkshopItemInfo workshop_items = 2; +} + +message CPublishedFile_GetContentDescriptors_Request { + optional fixed64 publishedfileid = 1; +} + +message CPublishedFile_GetContentDescriptors_Response { + message ContentDescriptor { + optional .EContentDescriptorID descriptorid = 1 [default = k_EContentDescriptor_NudityOrSexualContent]; + optional uint32 accountid = 2; + optional uint32 timestamp = 3; + optional bool moderator_set = 4; + } + + repeated .CPublishedFile_GetContentDescriptors_Response.ContentDescriptor content_descriptors = 1; +} + +message CPublishedFile_UpdateContentDescriptors_Request { + optional fixed64 publishedfileid = 1; + repeated .EContentDescriptorID descriptors_to_add = 2; + repeated .EContentDescriptorID descriptors_to_remove = 3; +} + +message CPublishedFile_UpdateContentDescriptors_Response { + optional uint32 timestamp_updated = 1; +} + +message CPublishedFile_FileSubscribed_Notification { + message RevisionData { + optional .EPublishedFileRevision revision = 1 [default = k_EPublishedFileRevision_Default]; + optional fixed64 file_hcontent = 2; + optional uint32 rtime_updated = 3; + optional string game_branch_min = 4; + optional string game_branch_max = 5; + } + + 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; + optional .EPublishedFileRevision revision = 9 [default = k_EPublishedFileRevision_Default]; + repeated .CPublishedFile_FileSubscribed_Notification.RevisionData revisions = 8; +} + +message CPublishedFile_FileUnsubscribed_Notification { + optional fixed64 published_file_id = 1; + optional uint32 app_id = 2; +} + +message CPublishedFile_FileDeleted_Client_Notification { + optional fixed64 published_file_id = 1; + optional uint32 app_id = 2; +} + +service PublishedFile { + rpc Vote (.CPublishedFile_Vote_Request) returns (.CPublishedFile_Vote_Response); + rpc Subscribe (.CPublishedFile_Subscribe_Request) returns (.CPublishedFile_Subscribe_Response); + rpc Unsubscribe (.CPublishedFile_Unsubscribe_Request) returns (.CPublishedFile_Unsubscribe_Response); + rpc CanSubscribe (.CPublishedFile_CanSubscribe_Request) returns (.CPublishedFile_CanSubscribe_Response); + rpc GetSubSectionData (.CPublishedFile_GetSubSectionData_Request) returns (.CPublishedFile_GetSubSectionData_Response); + rpc Publish (.CPublishedFile_Publish_Request) returns (.CPublishedFile_Publish_Response); + rpc GetDetails (.CPublishedFile_GetDetails_Request) returns (.CPublishedFile_GetDetails_Response); + rpc GetItemInfo (.CPublishedFile_GetItemInfo_Request) returns (.CPublishedFile_GetItemInfo_Response); + rpc GetUserFiles (.CPublishedFile_GetUserFiles_Request) returns (.CPublishedFile_GetUserFiles_Response); + rpc GetUserFileCount (.CPublishedFile_GetUserFiles_Request) returns (.CPublishedFile_GetUserFiles_Response); + rpc AreFilesInSubscriptionList (.CPublishedFile_AreFilesInSubscriptionList_Request) returns (.CPublishedFile_AreFilesInSubscriptionList_Response); + rpc Update (.CPublishedFile_Update_Request) returns (.CPublishedFile_Update_Response); + rpc Delete (.CPublishedFile_Delete_Request) returns (.CPublishedFile_Delete_Response); + rpc GetChangeHistoryEntry (.CPublishedFile_GetChangeHistoryEntry_Request) returns (.CPublishedFile_GetChangeHistoryEntry_Response); + rpc GetChangeHistory (.CPublishedFile_GetChangeHistory_Request) returns (.CPublishedFile_GetChangeHistory_Response); + rpc RefreshVotingQueue (.CPublishedFile_RefreshVotingQueue_Request) returns (.CPublishedFile_RefreshVotingQueue_Response); + rpc QueryFiles (.CPublishedFile_QueryFiles_Request) returns (.CPublishedFile_QueryFiles_Response); + rpc AddAppRelationship (.CPublishedFile_AddAppRelationship_Request) returns (.CPublishedFile_AddAppRelationship_Response); + rpc RemoveAppRelationship (.CPublishedFile_RemoveAppRelationship_Request) returns (.CPublishedFile_RemoveAppRelationship_Response); + rpc GetAppRelationships (.CPublishedFile_GetAppRelationships_Request) returns (.CPublishedFile_GetAppRelationships_Response); + rpc GetAppRelationshipsBatched (.CPublishedFile_GetAppRelationshipsBatched_Request) returns (.CPublishedFile_GetAppRelationshipsBatched_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 SetPlaytimeForControllerConfigs (.CPublishedFile_SetPlaytimeForControllerConfigs_Request) returns (.CPublishedFile_SetPlaytimeForControllerConfigs_Response); + rpc AddChild (.CPublishedFile_AddChild_Request) returns (.CPublishedFile_AddChild_Response); + rpc RemoveChild (.CPublishedFile_RemoveChild_Request) returns (.CPublishedFile_RemoveChild_Response); + rpc SetCollectionChildren (.CPublishedFile_SetCollectionChildren_Request) returns (.CPublishedFile_SetCollectionChildren_Response); + rpc SetSubscriptionListFromCollection (.CPublishedFile_SetSubscriptionListFromCollection_Request) returns (.CPublishedFile_SetSubscriptionListFromCollection_Response); + rpc GetUserVoteSummary (.CPublishedFile_GetUserVoteSummary_Request) returns (.CPublishedFile_GetUserVoteSummary_Response); + rpc GetItemChanges (.CPublishedFile_GetItemChanges_Request) returns (.CPublishedFile_GetItemChanges_Response); + rpc GetContentDescriptors (.CPublishedFile_GetContentDescriptors_Request) returns (.CPublishedFile_GetContentDescriptors_Response); + rpc UpdateContentDescriptors (.CPublishedFile_UpdateContentDescriptors_Request) returns (.CPublishedFile_UpdateContentDescriptors_Response); +} + +service PublishedFileClient { + option (service_execution_site) = k_EProtoExecutionSiteSteamClient; + + rpc NotifyFileSubscribed (.CPublishedFile_FileSubscribed_Notification) returns (.NoResponse); + rpc NotifyFileUnsubscribed (.CPublishedFile_FileUnsubscribed_Notification) returns (.NoResponse); + rpc NotifyFileDeleted (.CPublishedFile_FileDeleted_Client_Notification) returns (.NoResponse); +} diff --git a/src/test/java/in/dragonbra/javasteam/rpc/UnifiedInterfaceTest.kt b/src/test/java/in/dragonbra/javasteam/rpc/UnifiedInterfaceTest.kt index 5ddff513..1397fd3e 100644 --- a/src/test/java/in/dragonbra/javasteam/rpc/UnifiedInterfaceTest.kt +++ b/src/test/java/in/dragonbra/javasteam/rpc/UnifiedInterfaceTest.kt @@ -78,6 +78,8 @@ class UnifiedInterfaceTest { "RemoteClientSteamClient.kt", "TwoFactor.kt", "UserAccount.kt", + "PublishedFile.kt", + "PublishedFileClient.kt", ) } }