public CollectObject Hydrate(RawCollectResult res) { switch (res.ResultType) { case RESULT_TYPE.CERTIFICATE: return(JsonConvert.DeserializeObject <CertificateObject>(res.Serialized)); case RESULT_TYPE.FILE: return(JsonConvert.DeserializeObject <FileSystemObject>(res.Serialized)); case RESULT_TYPE.PORT: return(JsonConvert.DeserializeObject <OpenPortObject>(res.Serialized)); case RESULT_TYPE.REGISTRY: return(JsonConvert.DeserializeObject <RegistryObject>(res.Serialized)); case RESULT_TYPE.SERVICE: return(JsonConvert.DeserializeObject <ServiceObject>(res.Serialized)); case RESULT_TYPE.USER: return(JsonConvert.DeserializeObject <UserAccountObject>(res.Serialized)); default: return(null); } }
/// <summary> /// Deserialize a Collect object from a RawCollectResult /// </summary> /// <param name="res">The RawCollectResult containing the JsonSerialized object to hydrate.</param> /// <returns>An appropriately typed collect object based on the collect result passed in, or null if the RESULT_TYPE is unknown.</returns> public static CollectObject Hydrate(RawCollectResult res) { if (res == null) { throw new NullReferenceException(); } switch (res.ResultType) { case RESULT_TYPE.CERTIFICATE: return(JsonSerializer.Deserialize <CertificateObject>(res.Serialized)); case RESULT_TYPE.FILE: return(JsonSerializer.Deserialize <FileSystemObject>(res.Serialized)); case RESULT_TYPE.PORT: return(JsonSerializer.Deserialize <OpenPortObject>(res.Serialized)); case RESULT_TYPE.REGISTRY: return(JsonSerializer.Deserialize <RegistryObject>(res.Serialized)); case RESULT_TYPE.SERVICE: return(JsonSerializer.Deserialize <ServiceObject>(res.Serialized)); case RESULT_TYPE.USER: return(JsonSerializer.Deserialize <UserAccountObject>(res.Serialized)); case RESULT_TYPE.GROUP: return(JsonSerializer.Deserialize <GroupAccountObject>(res.Serialized)); case RESULT_TYPE.FIREWALL: return(JsonSerializer.Deserialize <FirewallObject>(res.Serialized)); case RESULT_TYPE.COM: return(JsonSerializer.Deserialize <ComObject>(res.Serialized)); case RESULT_TYPE.LOG: return(JsonSerializer.Deserialize <EventLogObject>(res.Serialized)); default: return(null); } }