1 #Region "Microsoft.VisualBasic::dfcf0da1a93b0d25fe5e7ea1d5c01443, Microsoft.VisualBasic.Core\Scripting\MetaData\Namespace.vb"
2
3     ' Author:
4     
5     '       asuka (amethyst.asuka@gcmodeller.org)
6     '       xie (genetics@smrucc.org)
7     '       xieguigang (xie.guigang@live.com)
8     
9     ' Copyright (c) 2018 GPL3 Licensed
10     
11     
12     ' GNU GENERAL PUBLIC LICENSE (GPL3)
13     
14     
15     ' This program is free software: you can redistribute it and/or modify
16     ' it under the terms of the GNU General Public License as published by
17     ' the Free Software Foundation, either version 3 of the License, or
18     ' (at your option) any later version.
19     
20     ' This program is distributed in the hope that it will be useful,
21     ' but WITHOUT ANY WARRANTY; without even the implied warranty of
22     ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23     ' GNU General Public License for more details.
24     
25     ' You should have received a copy of the GNU General Public License
26     ' along with this program. If not, see <http://www.gnu.org/licenses/>.
27
28
29
30     ' /********************************************************************************/
31
32     ' Summaries:
33
34     '     Class PackageAttribute
35     
36     '         Properties: Category, Cites, Publisher, Revision, Url
37     
38     '         Constructor: (+4 OverloadsSub New
39     
40     '     Enum APICategories
41     
42     
43     '  
44     
45     
46     
47     
48     ' /********************************************************************************/
49
50 #End Region
51
52 Imports System.ComponentModel
53 Imports System.Xml.Serialization
54 Imports Microsoft.VisualBasic.CommandLine.Reflection
55
56 Namespace Scripting.MetaData
57
58     ''' <summary>
59     ''' This attribute provides a more details information about a namepace package module in your scripting plugins.
60     ''' </summary>
61     <XmlType("PackageNamespace", [Namespace]:="Microsoft.VisualBasic.Architecture.Framework_v3.0_22.0.76.201__8da45dcd8060cc9a")>
62     Public Class PackageAttribute : Inherits [Namespace]
63
64         ''' <summary>
65         ''' This plugins project's home page url.
66         ''' </summary>
67         ''' <returns></returns>
68         Public Property Url As String
69         ''' <summary>
70         ''' Your name or E-Mail
71         ''' </summary>
72         ''' <returns></returns>
73         Public Property Publisher As String
74         Public Property Revision As Integer
75         ''' <summary>
76         ''' 这个脚本模块包的文献引用列表
77         ''' </summary>
78         ''' <returns></returns>
79         Public Property Cites As String
80         Public Property Category As APICategories = APICategories.SoftwareTools
81
82         ''' <summary>
83         ''' This attribute provides a more details information about a namepace package module in your scripting plugins.
84         ''' </summary>
85         ''' <param name="ns"></param>
86         Public Sub New(ns As [Namespace])
87             Me.Namespace = ns.Namespace
88             Me.Description = ns.Description
89         End Sub
90
91         ''' <summary>
92         ''' 拷贝自身
93         ''' </summary>
94         ''' <param name="base"></param>
95         Sub New(base As PackageAttribute)
96             Me.AutoExtract = base.AutoExtract
97             Me.Category = base.Category
98             Me.Cites = base.Cites
99             Me.Description = base.Description
100             Me.Namespace = base.Namespace
101             Me.Publisher = base.Publisher
102             Me.Revision = base.Revision
103             Me.Url = base.Url
104         End Sub
105
106         ''' <summary>
107         ''' This attribute provides a more details information about a namepace package module in your scripting plugins.
108         ''' </summary>
109         ''' <param name="[Namespace]"></param>
110         Public Sub New([Namespace] As String)
111             Me.Namespace = [Namespace]
112         End Sub
113
114         ''' <summary>
115         ''' This attribute provides a more details information about a namepace package module in your scripting plugins.
116         ''' </summary>
117         Protected Sub New()
118         End Sub
119     End Class
120
121     Public Enum APICategories As Integer
122         ''' <summary>
123         ''' API for facilities of the software development.
124         ''' </summary>
125         <Description("API for facilities of the software development.")>
126         SoftwareTools = 0
127         ''' <summary>
128         ''' Analysis Tools API that applied on your scientific research or industry production on computer science.
129         ''' </summary>
130         <Description("Analysis Tools API that applied on your scientific research or industry production on computer science.")>
131         ResearchTools = 2
132         ''' <summary>
133         ''' Something small utilities for facility the scripting, makes your programming more easily.
134         ''' </summary>
135         <Description("Something small utilities for facility the scripting, makes your programming more easily.")>
136         UtilityTools = 4
137         ''' <summary>
138         ''' CLI program help manual.
139         ''' </summary>
140         <Description("CLI program help manual.")>
141         CLI_MAN = 8
142     End Enum
143 End Namespace