Implement MachineKey.Protect and MachineKey.Unprotect
[mono.git] / mcs / class / System.Web.Mvc2 / System.Web.Mvc / ViewTypeControlBuilder.cs
1 /* ****************************************************************************\r
2  *\r
3  * Copyright (c) Microsoft Corporation. All rights reserved.\r
4  *\r
5  * This software is subject to the Microsoft Public License (Ms-PL). \r
6  * A copy of the license can be found in the license.htm file included \r
7  * in this distribution.\r
8  *\r
9  * You must not remove this notice, or any other, from this software.\r
10  *\r
11  * ***************************************************************************/\r
12 \r
13 namespace System.Web.Mvc {\r
14     using System;\r
15     using System.CodeDom;\r
16     using System.Collections;\r
17     using System.Web.UI;\r
18 \r
19     internal sealed class ViewTypeControlBuilder : ControlBuilder {\r
20         private string _typeName;\r
21 \r
22         public override void Init(TemplateParser parser, ControlBuilder parentBuilder, Type type, string tagName, string id, IDictionary attribs) {\r
23             base.Init(parser, parentBuilder, type, tagName, id, attribs);\r
24 \r
25             _typeName = (string)attribs["typename"];\r
26         }\r
27 \r
28         public override void ProcessGeneratedCode(\r
29             CodeCompileUnit codeCompileUnit,\r
30             CodeTypeDeclaration baseType,\r
31             CodeTypeDeclaration derivedType,\r
32             CodeMemberMethod buildMethod,\r
33             CodeMemberMethod dataBindingMethod) {\r
34 \r
35             // Override the view's base type with the explicit base type\r
36             derivedType.BaseTypes[0] = new CodeTypeReference(_typeName);\r
37         }\r
38     }\r
39 }\r