[RTL]
[reactos.git] / reactos / tools / sysgen / RosFramework / RBuildAutoRegister.cs
1 using System;
2 using System.IO;
3 using System.Collections.Generic;
4 using System.Text;
5
6 namespace SysGen.RBuild.Framework
7 {
8 /// <summary>
9 /// Type of registration
10 /// </summary>
11 public enum AutoRegisterType : int
12 {
13 DllRegisterServer = 1,
14 DllInstall = 2,
15 Both = 3
16 }
17
18 public enum SetupApiFolder : int
19 {
20 SourceDrive = 1, //(the directory from which the INF file was installed)
21 OS = 10, //(%SystemRoot%)
22 System = 11, //(%SystemRoot%\system32)
23 Drivers = 12, //(%SystemRoot%\system32\drivers)
24 Inf = 17, //(%SystemRoot%\inf)
25 Help = 18, //(%SystemRoot%\Help)
26 Fonts = 20, //(%SystemRoot%\Fonts)
27 Root = 24, //(%SystemDrive%)
28 Shared = 25, //(%ALLUSERSPROFILE%\Shared Documents)
29 UserProfile = 53 //(%USERPROFILE%)
30 }
31
32 public enum SetupApiShellFolder : int
33 {
34 AllUsersApplicationData, // 16419 %ALLUSERSPROFILE%\Application Data
35 AllUsersDesktop, // 16409 %ALLUSERSPROFILE%\Desktop
36 AllUsersMyDocuments, // 16430 %ALLUSERSPROFILE%\Documents
37 AllUsersMyMusic, // 16437 %ALLUSERSPROFILE%\Documents\My Music
38 AllUsersMyPictures, // 16438 %ALLUSERSPROFILE%\Documents\My Pictures
39 AllUsersMyVideos, // 16439 %ALLUSERSPROFILE%\Documents\My Videos
40 AllUsersFavourites, // 16415 %ALLUSERSPROFILE%\Favorites
41 AllUsersStartMenu, // 16406 %ALLUSERSPROFILE%\Start Menu
42 AllUsersStartMenuPrograms, // 16407 %ALLUSERSPROFILE%\Start Menu\Programs
43 AllUsersStartMenuAdministrativeTools, // 16431 %ALLUSERSPROFILE%\Start Menu\Programs\Administrative Tools
44 AllUsersStartMenuStartup, // 16408 %ALLUSERSPROFILE%\Start Menu\Programs\Startup
45 AllUsersTemplates, // 16429 %ALLUSERSPROFILE%\Templates
46 UserApplicationData, // 16410 %USERPROFILE%\Application Data
47 UserCookies, // 16417 %USERPROFILE%\Cookies
48 UserDesktop, // 16384 %USERPROFILE%\Desktop
49 UserDesktop2, // 16400 %USERPROFILE%\Desktop
50 UserFavourites, // 16390 %USERPROFILE%\Favorites
51 UserLocalSettingsApplicationData, // 16412 %USERPROFILE%\Local Settings\Application Data
52 UserLocalSettingsMSCDBruning, // 16443 %USERPROFILE%\Local Settings\Application Data\Microsoft\CD Burning
53 UserHistory, // 16418 %USERPROFILE%\Local Settings\History
54 UserTemporaryInternetFiles, // 16416 %USERPROFILE%\Local Settings\Temporary Internet Files
55 UserMyDocuments, // 16389 %USERPROFILE%\My Documents
56 UserMyMusic, // 16397 %USERPROFILE%\My Documents\My Music
57 UserMyPictures, // 16423 %USERPROFILE%\My Documents\My Pictures
58 UserMyVideos, // 16398 %USERPROFILE%\My Documents\My Videos
59 UserNetHood, // 16403 %USERPROFILE%\NetHood
60 UserPrintHood, // 16411 %USERPROFILE%\PrintHood
61 UserRecent, // 16392 %USERPROFILE%\Recent
62 UserSendTo, // 16393 %USERPROFILE%\SendTo
63 UserStartMenu, // 16395 %USERPROFILE%\Start Menu
64 UserStartMenuPrograms, // 16386 %USERPROFILE%\Start Menu\Programs
65 UserStartMenuAdministrativeTools, // 16432 %USERPROFILE%\Start Menu\Programs\Administrative Tools
66 UserStartMenuStartup, // 16391 %USERPROFILE%\Start Menu\Programs\Startup
67 UserTemplates, // 16405 %USERPROFILE%\Templates
68 ProgramFiles, // 16422 %ProgramFiles%
69 ProgramFilesCommonFiles, // 16427 %ProgramFiles%\Common Files
70 SystenResources, // 16440 %SystemRoot%\Resources
71 SystemEnglishResources // 16441 %SystemRoot%\Resources\0409
72 }
73
74 /// <summary>
75 /// An autoregister element specifies that the generated executable should be
76 /// registered in the registry during second stage setup.
77 /// </summary>
78 public class RBuildAutoRegister
79 {
80 private AutoRegisterType m_AutoRegisterType = AutoRegisterType.Both;
81 private string m_InfSection = null;
82
83 /// <summary>
84 /// Name of section in syssetup.inf.
85 /// </summary>
86 public string InfSection
87 {
88 get { return m_InfSection; }
89 set { m_InfSection = value; }
90 }
91
92 /// <summary>
93 /// Type of registration.
94 /// </summary>
95 public AutoRegisterType Type
96 {
97 get { return m_AutoRegisterType; }
98 set { m_AutoRegisterType = value; }
99 }
100
101 public int RegistrationType
102 {
103 get { return (int)Type; }
104 }
105 }
106 }