public InvokeStatus invoke(XElement root, out XElement ret, IPIDLErrorCollector ec_) { var ec = new PIDL_SASErrorCollector(ec_); var in_stream = new MemoryStream(); var in_writer = JsonReaderWriterFactory.CreateJsonWriter(in_stream); var in_doc = new XDocument(); in_doc.Add(root); in_doc.WriteTo(in_writer); in_writer.Close(); SASBinData out_data; switch (conn.Invoke(new SASBinData(in_stream.GetBuffer()), out out_data, ec)) { case ISASInvoker.Status.Error: ret = null; return(InvokeStatus.Error); case ISASInvoker.Status.FatalError: ret = null; return(InvokeStatus.FatalError); case ISASInvoker.Status.NotImplemented: ret = null; return(InvokeStatus.NotImplemented); case ISASInvoker.Status.OK: break; } var out_reader = JsonReaderWriterFactory.CreateJsonReader(out_data.AsByteArray, System.Xml.XmlDictionaryReaderQuotas.Max); ret = XElement.Load(out_reader); return(InvokeStatus.Ok); }
public PIDL_SASErrorCollector(IPIDLErrorCollector ec_) { ec = ec_; }