internal CallerChainImpl(AnyCredential anyCredential) : this() { Legacy = anyCredential.Legacy; if (Legacy) { core.v2_0.services.access_control.CallChain legacyChain = UnmarshalLegacyCallChain(anyCredential.LegacyChain); BusId = anyCredential.Bus; Target = legacyChain.target; Originators = new LoginInfo[legacyChain.originators.Length]; for (int i = 0; i < legacyChain.originators.Length; i++) { Originators[i] = new LoginInfo(legacyChain.originators[i].id, legacyChain.originators[i].entity); } Caller = new LoginInfo(legacyChain.caller.id, legacyChain.caller.entity); Signed = new AnySignedChain(anyCredential.LegacyChain); } else { CallChain chain = UnmarshalCallChain(anyCredential.Chain); BusId = chain.bus; Target = chain.target; Originators = chain.originators; Caller = chain.caller; Signed = new AnySignedChain(anyCredential.Chain); } }
internal CallerChainImpl(string busId, LoginInfo caller, string target, LoginInfo[] originators, SignedData signed, SignedCallChain legacySigned) : this(busId, target) { Originators = originators; Caller = caller; Signed = new AnySignedChain(signed, legacySigned); Legacy = false; }
internal CallerChainImpl(string busId, core.v2_0.services.access_control.LoginInfo caller, string target, core.v2_0.services.access_control.LoginInfo[] originators, SignedCallChain signed) : this(busId, target) { Originators = new LoginInfo[originators.Length]; for (int i = 0; i < originators.Length; i++) { Originators[i] = new LoginInfo(originators[i].id, originators[i].entity); } Caller = new LoginInfo(caller.id, caller.entity); Signed = new AnySignedChain(signed); Legacy = true; }