public override object Deserialize(TextReader tr) { string value = tr.ReadToEnd(); IStatusCode sc = CreateAndAssociate() as IStatusCode; if (sc != null) { // Decode the value as needed value = Decode(sc, value); Match match = Regex.Match(value, @"\d(\.\d+)*"); if (match.Success) { int[] iparts; string[] parts = match.Value.Split('.'); iparts = new int[parts.Length]; for (int i = 0; i < parts.Length; i++) { int num; if (!Int32.TryParse(parts[i], out num)) { return(false); } iparts[i] = num; } sc.Parts = iparts; return(sc); } } return(null); }
public override void CopyFrom(ICopyable obj) { base.CopyFrom(obj); if (obj is IStatusCode) { IStatusCode sc = (IStatusCode)obj; Parts = new int[sc.Parts.Length]; sc.Parts.CopyTo(Parts, 0); } }
/// <summary> /// Copies values from the target object to the /// current object. /// </summary> /// <param name="obj"></param> public override sealed void CopyFrom(ICopyable obj) { base.CopyFrom(obj); var statusCode = obj as IStatusCode; if (statusCode != null) { IStatusCode sc = statusCode; Parts = new int[sc.Parts.Length]; sc.Parts.CopyTo(Parts, 0); } }
public IClassCreatorStrategy CreateClassCreatorStrategy() { IClassCreatorStrategy classCreatorStrategy = new ClassCreatorStrategyImplementation(); IStatusCode code = classCreatorStrategy.SetupClassCreator(); if (code.GetStatusCode() != 0) { throw new RuntimeException("Failed to create IDownloadStrategy: " + code.GetStatusCode()); } return(classCreatorStrategy); }
public IDownloadStrategy CreateDownloadStrategy() { IDownloadStrategy downloadStrategy = new DownloadStrategyImplementation(); IStatusCode code = downloadStrategy.SetupDownloader(); if (code.GetStatusCode() != 0) { throw new RuntimeException("Failed to create IDownloadStrategy: " + code.GetStatusCode()); } return(downloadStrategy); }
public override void CopyFrom(ICopyable obj) { base.CopyFrom(obj); if (obj is IRequestStatus) { IRequestStatus rs = (IRequestStatus)obj; if (rs.StatusCode != null) { StatusCode = rs.StatusCode.Copy <IStatusCode>(); } Description = rs.Description; rs.ExtraData = rs.ExtraData; } }
public override string SerializeToString(object obj) { IStatusCode sc = obj as IStatusCode; if (sc != null) { string[] vals = new string[sc.Parts.Length]; for (int i = 0; i < sc.Parts.Length; i++) { vals[i] = sc.Parts[i].ToString(); } return(Encode(sc, Escape(string.Join(".", vals)))); } return(null); }
/// <summary> /// Copies values from the target object to the /// current object. /// </summary> /// <param name="obj"></param> public override sealed void CopyFrom(ICopyable obj) { base.CopyFrom(obj); var requestStatus = obj as IRequestStatus; if (requestStatus != null) { IRequestStatus rs = requestStatus; if (rs.StatusCode != null) { StatusCode = rs.StatusCode.Copy <IStatusCode>( ); } Description = rs.Description; rs.ExtraData = rs.ExtraData; } }
public override void CopyFrom(ICopyable obj) { base.CopyFrom(obj); if (!(obj is IRequestStatus)) { return; } var rs = (IRequestStatus)obj; if (rs.StatusCode != null) { StatusCode = rs.StatusCode; } Description = rs.Description; rs.ExtraData = rs.ExtraData; }
public override bool Equals(object obj) { IStatusCode sc = obj as IStatusCode; if (sc != null) { if (m_Parts != null && sc.Parts != null && m_Parts.Length == sc.Parts.Length) { for (int i = 0; i < m_Parts.Length; i++) { if (!object.Equals(m_Parts[i], sc.Parts[i])) { return(false); } } return(true); } return(false); } return(base.Equals(obj)); }
/// <summary> /// Writes <see cref="IStatusCode" /> using the provided encoder <see cref="IBinaryEncoder" />. /// </summary> /// <param name="encoder">The encoder - an object implementing the <see cref="IBinaryEncoder" /> interface.</param> /// <param name="value">The value to be encoded.</param> public abstract void Write(IBinaryEncoder encoder, IStatusCode value);
public void Write(IBinaryEncoder encoder, IStatusCode value) { Assert.AreSame(this, encoder); _encoder.Write(this, value); }
public override void Write(IBinaryEncoder encoder, IStatusCode value) { throw new NotImplementedException(); }
public override void CopyFrom(ICopyable obj) { base.CopyFrom(obj); if (obj is IRequestStatus) { IRequestStatus rs = (IRequestStatus)obj; if (rs.StatusCode != null) StatusCode = rs.StatusCode.Copy<IStatusCode>(); Description = rs.Description; rs.ExtraData = rs.ExtraData; } }