New file (ISurrogateSelector.cs)
authorDavid Dawkins <david@mono-cvs.ximian.com>
Sun, 6 Jan 2002 19:08:04 +0000 (19:08 -0000)
committerDavid Dawkins <david@mono-cvs.ximian.com>
Sun, 6 Jan 2002 19:08:04 +0000 (19:08 -0000)
svn path=/trunk/mcs/; revision=1879

mcs/class/corlib/System.Runtime.Serialization/ChangeLog
mcs/class/corlib/System.Runtime.Serialization/ISurrogateSelector.cs [new file with mode: 0644]

index e5a29fcc3ec9d0b8787c9ca675648862667a4ed3..b0dac7b1b0c936502366abb9b7a89c933d815bca 100644 (file)
@@ -2,6 +2,7 @@
 
        * IFormatter.cs : New file
        * ISerializationSurrogate.cs : New file
+       * ISurrogateSelector.cs : New file
 
 2002-05-01  Ravi Pratap  <ravi@ximian.com>
 
diff --git a/mcs/class/corlib/System.Runtime.Serialization/ISurrogateSelector.cs b/mcs/class/corlib/System.Runtime.Serialization/ISurrogateSelector.cs
new file mode 100644 (file)
index 0000000..442b017
--- /dev/null
@@ -0,0 +1,40 @@
+//\r
+// System.Runtime.Serialization.ISurrogateSelector\r
+//\r
+// Author:\r
+//   David Dawkins (david@dawkins.st)\r
+//\r
+// (C) David Dawkins\r
+//\r
+\r
+namespace System.Runtime.Serialization {\r
+\r
+       /// <summary>\r
+       /// Creation of serialization surrogate selectors</summary>\r
+       public interface ISurrogateSelector {\r
+\r
+               /// <summary>\r
+               /// Insert specified selector into available surrogates</summary>\r
+               void ChainSelector( ISurrogateSelector selector );\r
+\r
+               /// <summary>\r
+               /// Return next surrogate in the surrogate chain</summary>\r
+               ISurrogateSelector GetNextSelector();\r
+\r
+               /// <summary>\r
+               /// Fetch the surrogate according the specified type, starting\r
+               /// the search from the surrogate selector for the specified\r
+               /// StreamingContext</summary>\r
+               /// <param name="type">Type of the object to be serialized</param>\r
+               /// <param name="context">Context for the serialization/deserialization</para,>\r
+               /// <param name="selector">Upon return, contains a reference to the selector where the returned surrogate was found</param>\r
+               /// <returns>The surrogate for the specified type and context</returns>\r
+               ISerializationSurrogate GetSurrogate(\r
+                       Type type,\r
+                       StreamingContext context,\r
+                       out ISurrogateSelector selector\r
+               );\r
+\r
+       }\r
+\r
+}\r