9b117d41535d5a2e7d3f04c7df8c6a101aa9d644
[mono.git] / mcs / class / monodoc / Monodoc / generator.cs
1 using System;
2 using System.Collections.Generic;
3
4 namespace Monodoc
5 {
6         // All type of documents that a generator may find as input
7         public enum DocumentType {
8                 EcmaXml, // Our main monodoc format
9                 EcmaSpecXml,
10                 Man,
11                 AddinXml,
12                 MonoBook, // This is mostly XHTML already, just need a tiny bit of processing
13                 Html,
14                 TocXml, // Used by help source displaying some kind of toc of the content they host
15                 PlainText,
16                 ErrorXml
17         }
18
19         /* This interface defines a set of transformation engine
20          * that convert multiple documentation source to a single output format
21          */
22         public interface IDocGenerator<TOutput>
23         {
24                 /* This method is responsible for finding out the documentation type
25                  * for the given ID and use the right engine internally
26                  * The id can be accompanied by a context dictionary giving away extra
27                  * informtion to the renderer
28                  */
29                 TOutput Generate (HelpSource hs, string internalId, Dictionary<string, string> context);
30         }
31 }