Transform.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //
  2. // Transform.cs - Transform implementation for XML Signature
  3. //
  4. // Author:
  5. // Sebastien Pouliot ([email protected])
  6. //
  7. // (C) 2002, 2003 Motus Technologies Inc. (http://www.motus.com)
  8. //
  9. using System.Xml;
  10. namespace System.Security.Cryptography.Xml {
  11. public abstract class Transform {
  12. private string algo;
  13. public Transform () {}
  14. public string Algorithm {
  15. get { return algo; }
  16. set { algo = value; }
  17. }
  18. public abstract Type[] InputTypes {
  19. get;
  20. }
  21. public abstract Type[] OutputTypes {
  22. get;
  23. }
  24. protected abstract XmlNodeList GetInnerXml ();
  25. public abstract object GetOutput ();
  26. public abstract object GetOutput (Type type);
  27. public XmlElement GetXml ()
  28. {
  29. XmlDocument document = new XmlDocument ();
  30. XmlElement xel = document.CreateElement (XmlSignature.ElementNames.Transform, XmlSignature.NamespaceURI);
  31. xel.SetAttribute (XmlSignature.AttributeNames.Algorithm, algo);
  32. return xel;
  33. }
  34. public abstract void LoadInnerXml (XmlNodeList nodeList);
  35. public abstract void LoadInput (object obj);
  36. }
  37. }