@@ -59,6 +59,7 @@ public PICSRequest( uint id = 0, ulong access_token = 0 )
5959 EMsg . ClientPICSProductInfoResponse => new PICSProductInfoCallback ( packetMsg ) ,
6060 EMsg . ClientUpdateGuestPassesList => new GuestPassListCallback ( packetMsg ) ,
6161 EMsg . ClientCheckAppBetaPasswordResponse => new CheckAppBetaPasswordCallback ( packetMsg ) ,
62+ EMsg . ClientPICSPrivateBetaResponse => new PrivateBetaCallback ( packetMsg ) ,
6263 _ => null ,
6364 } ;
6465
@@ -298,6 +299,31 @@ public AsyncJob<LegacyGameKeyCallback> GetLegacyGameKey( uint appid )
298299 return new AsyncJob < LegacyGameKeyCallback > ( this . Client , request . SourceJobID ) ;
299300 }
300301
302+ /// <summary>
303+ /// Submit a beta password for a given app to retrieve any betas and their encryption keys.
304+ /// Results are returned in a <see cref="CheckAppBetaPasswordCallback"/> callback.
305+ /// The returned <see cref="AsyncJob{T}"/> can also be awaited to retrieve the callback result.
306+ /// </summary>
307+ /// <param name="app">App id requested.</param>
308+ /// <param name="accessToken">Access token associated with the app.</param>
309+ /// <param name="branch">The branch name.</param>
310+ /// <param name="branchPasswordHash">The branch password from <see cref="CheckAppBetaPasswordCallback"/></param>
311+ /// <returns>The Job ID of the request. This can be used to find the appropriate <see cref="CheckAppBetaPasswordCallback"/>.</returns>
312+ public AsyncJob < PrivateBetaCallback > PICSGetPrivateBeta ( uint app , ulong accessToken , string branch , byte [ ] branchPasswordHash )
313+ {
314+ var request = new ClientMsgProtobuf < CMsgClientPICSPrivateBetaRequest > ( EMsg . ClientPICSPrivateBetaRequest ) ;
315+ request . SourceJobID = Client . GetNextJobID ( ) ;
316+
317+ request . Body . appid = app ;
318+ request . Body . access_token = accessToken ;
319+ request . Body . beta_name = branch ;
320+ request . Body . password_hash = branchPasswordHash ;
321+
322+ this . Client . Send ( request ) ;
323+
324+ return new AsyncJob < PrivateBetaCallback > ( this . Client , request . SourceJobID ) ;
325+ }
326+
301327 /// <summary>
302328 /// Handles a client message. This should not be called directly.
303329 /// </summary>
0 commit comments