public void Read(TProtocol iprot) { iprot.IncrementRecursionDepth(); try { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.Struct) { SdkAuthRequest = new THSdkAuthRequest(); SdkAuthRequest.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 2: if (field.Type == TType.Struct) { ProcessAppOpenRequest = new THProcessAppOpenRequest(); ProcessAppOpenRequest.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); } finally { iprot.DecrementRecursionDepth(); } }
public void ProcessReferrer(string referrer, Action <ReferralData> onSuccess, Action <GetSocialError> onError) { var appOpenRequest = new THProcessAppOpenRequest { IsNewInstall = _stateController.IsNewInstall, ReferrerData = new Dictionary <THAppOpenSource, Dictionary <THAppOpenKey, string> > { { THAppOpenSource.Manual, new Dictionary <THAppOpenKey, string> { { THAppOpenKey.Value, referrer } } } } }; LogRequest("processAppOpen", "isNewInstall=" + appOpenRequest.IsNewInstall + "; referrer=" + referrer); WithHadesClient(client => { try { var rpcReferralData = client.processAppOpen(SessionId, appOpenRequest); var referralData = rpcReferralData.ToReferralData(); Ui(() => { LogResponse("processAppOpen", rpcReferralData); onSuccess.SafeCall(referralData); }); } catch (THErrors errors) { if (errors.Errors.First().ErrorCode == THErrorCode.SIErrProcessAppOpenNoMatch) { Ui(() => { LogResponse("processAppOpen", null); onSuccess.SafeCall(null); }); } else { throw; } } }, onError); }