~samwhited/xmpp

ref: e8c09b3ff1c1489c21d96a0f7f8f0e8728fc095a xmpp/disco/categories.go -rw-r--r-- 19.4 KiB
e8c09b3fSam Whited design: fix typo in design doc template 1 year, 4 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
// Code generated by running "go generate" in mellium.im/xmpp/disco. DO NOT EDIT.

package disco

// Predefined identities generated from the Service Discovery Identities
// Registry as registered with the XMPP Registrar.
var (
	// Category: The "account" category is to be used by a server when responding to a disco request sent to the bare JID (user@host addresss) of an account hosted by the server.
	// Type: The user@host is an administrative account
	AccountAdmin = Identity{Category: "account", Type: "admin"}

	// Category: The "account" category is to be used by a server when responding to a disco request sent to the bare JID (user@host addresss) of an account hosted by the server.
	// Type: The user@host is a "guest" account that allows anonymous login by any user
	AccountAnonymous = Identity{Category: "account", Type: "anonymous"}

	// Category: The "account" category is to be used by a server when responding to a disco request sent to the bare JID (user@host addresss) of an account hosted by the server.
	// Type: The user@host is a registered or provisioned account associated with a particular non-administrative user
	AccountRegistered = Identity{Category: "account", Type: "registered"}

	// Category: The "auth" category consists of server components that provide authentication services within a server implementation.
	// Type: A server component that authenticates based on external certificates
	AuthCert = Identity{Category: "auth", Type: "cert"}

	// Category: The "auth" category consists of server components that provide authentication services within a server implementation.
	// Type: A server authentication component other than one of the registered types
	AuthGeneric = Identity{Category: "auth", Type: "generic"}

	// Category: The "auth" category consists of server components that provide authentication services within a server implementation.
	// Type: A server component that authenticates against an LDAP database
	AuthLDAP = Identity{Category: "auth", Type: "ldap"}

	// Category: The "auth" category consists of server components that provide authentication services within a server implementation.
	// Type: A server component that authenticates against an NT domain
	AuthNTLM = Identity{Category: "auth", Type: "ntlm"}

	// Category: The "auth" category consists of server components that provide authentication services within a server implementation.
	// Type: A server component that authenticates against a PAM system
	AuthPAM = Identity{Category: "auth", Type: "pam"}

	// Category: The "auth" category consists of server components that provide authentication services within a server implementation.
	// Type: A server component that authenticates against a Radius system
	AuthRadius = Identity{Category: "auth", Type: "radius"}

	// Category: The "automation" category consists of entities and nodes that provide automated or programmed interaction.
	// Type: The node for a list of commands; valid only for the node "http://jabber.org/protocol/commands"
	AutomationCommandList = Identity{Category: "automation", Type: "command-list"}

	// Category: The "automation" category consists of entities and nodes that provide automated or programmed interaction.
	// Type: A node for a specific command; the "node" attribute uniquely identifies the command
	AutomationCommandNode = Identity{Category: "automation", Type: "command-node"}

	// Category: The "automation" category consists of entities and nodes that provide automated or programmed interaction.
	// Type: An entity that supports Jabber-RPC.
	AutomationRpc = Identity{Category: "automation", Type: "rpc"}

	// Category: The "automation" category consists of entities and nodes that provide automated or programmed interaction.
	// Type: An entity that supports the SOAP XMPP Binding.
	AutomationSOAP = Identity{Category: "automation", Type: "soap"}

	// Category: The "automation" category consists of entities and nodes that provide automated or programmed interaction.
	// Type: An entity that provides automated translation services.
	AutomationTranslation = Identity{Category: "automation", Type: "translation"}

	// Category: The "client" category consists of different types of clients, mostly for instant messaging.
	// Type: An automated client that is not controlled by a human user
	ClientBot = Identity{Category: "client", Type: "bot"}

	// Category: The "client" category consists of different types of clients, mostly for instant messaging.
	// Type: Minimal non-GUI client used on dumb terminals or text-only screens
	ClientConsole = Identity{Category: "client", Type: "console"}

	// Category: The "client" category consists of different types of clients, mostly for instant messaging.
	// Type: A client running on a gaming console
	ClientGame = Identity{Category: "client", Type: "game"}

	// Category: The "client" category consists of different types of clients, mostly for instant messaging.
	// Type: A client running on a PDA, RIM device, or other handheld
	ClientHandheld = Identity{Category: "client", Type: "handheld"}

	// Category: The "client" category consists of different types of clients, mostly for instant messaging.
	// Type: Standard full-GUI client used on desktops and laptops
	ClientPC = Identity{Category: "client", Type: "pc"}

	// Category: The "client" category consists of different types of clients, mostly for instant messaging.
	// Type: A client running on a mobile phone or other telephony device
	ClientPhone = Identity{Category: "client", Type: "phone"}

	// Category: The "client" category consists of different types of clients, mostly for instant messaging.
	// Type: A client that is not actually using an instant messaging client; however, messages sent to this contact will be delivered as Short Message Service (SMS) messages
	ClientSMS = Identity{Category: "client", Type: "sms"}

	// Category: The "client" category consists of different types of clients, mostly for instant messaging.
	// Type: A client operated from within a web browser
	ClientWeb = Identity{Category: "client", Type: "web"}

	// Category: The "collaboration" category consists of services that enable multiple individuals to work together in real time.
	// Type: Multi-user whiteboarding service
	CollaborationWhiteboard = Identity{Category: "collaboration", Type: "whiteboard"}

	// Category: The "component" category consists of services that are internal to server implementations and not normally exposed outside a server.
	// Type: A server component that archives traffic
	ComponentArchive = Identity{Category: "component", Type: "archive"}

	// Category: The "component" category consists of services that are internal to server implementations and not normally exposed outside a server.
	// Type: A server component that handles client connections
	ComponentC2S = Identity{Category: "component", Type: "c2s"}

	// Category: The "component" category consists of services that are internal to server implementations and not normally exposed outside a server.
	// Type: A server component other than one of the registered types
	ComponentGeneric = Identity{Category: "component", Type: "generic"}

	// Category: The "component" category consists of services that are internal to server implementations and not normally exposed outside a server.
	// Type: A server component that handles load balancing
	ComponentLoad = Identity{Category: "component", Type: "load"}

	// Category: The "component" category consists of services that are internal to server implementations and not normally exposed outside a server.
	// Type: A server component that logs server information
	ComponentLog = Identity{Category: "component", Type: "log"}

	// Category: The "component" category consists of services that are internal to server implementations and not normally exposed outside a server.
	// Type: A server component that provides presence information
	ComponentPresence = Identity{Category: "component", Type: "presence"}

	// Category: The "component" category consists of services that are internal to server implementations and not normally exposed outside a server.
	// Type: A server component that handles core routing logic
	ComponentRouter = Identity{Category: "component", Type: "router"}

	// Category: The "component" category consists of services that are internal to server implementations and not normally exposed outside a server.
	// Type: A server component that handles server connections
	ComponentS2S = Identity{Category: "component", Type: "s2s"}

	// Category: The "component" category consists of services that are internal to server implementations and not normally exposed outside a server.
	// Type: A server component that manages user sessions
	ComponentSM = Identity{Category: "component", Type: "sm"}

	// Category: The "component" category consists of services that are internal to server implementations and not normally exposed outside a server.
	// Type: A server component that provides server statistics
	ComponentStats = Identity{Category: "component", Type: "stats"}

	// Category: The "conference" category consists of online conference services such as multi-user chatroom services.
	// Type: Internet Relay Chat service
	ConferenceIRC = Identity{Category: "conference", Type: "irc"}

	// Category: The "conference" category consists of online conference services such as multi-user chatroom services.
	// Type: Text conferencing service
	ConferenceText = Identity{Category: "conference", Type: "text"}

	// Category: The "directory" category consists of information retrieval services that enable users to search online directories or otherwise be informed about the existence of other XMPP entities.
	// Type: A directory of chatrooms
	DirectoryChatroom = Identity{Category: "directory", Type: "chatroom"}

	// Category: The "directory" category consists of information retrieval services that enable users to search online directories or otherwise be informed about the existence of other XMPP entities.
	// Type: A directory that provides shared roster groups
	DirectoryGroup = Identity{Category: "directory", Type: "group"}

	// Category: The "directory" category consists of information retrieval services that enable users to search online directories or otherwise be informed about the existence of other XMPP entities.
	// Type: A directory of end users (e.g., JUD)
	DirectoryUser = Identity{Category: "directory", Type: "user"}

	// Category: The "directory" category consists of information retrieval services that enable users to search online directories or otherwise be informed about the existence of other XMPP entities.
	// Type: A directory of waiting list entries
	DirectoryWaitinglist = Identity{Category: "directory", Type: "waitinglist"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to AOL Instant Messenger
	GatewayAIM = Identity{Category: "gateway", Type: "aim"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to the Facebook IM service
	GatewayFacebook = Identity{Category: "gateway", Type: "facebook"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to the Gadu-Gadu IM service
	GatewayGaduGadu = Identity{Category: "gateway", Type: "gadu-gadu"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway that provides HTTP Web Services access
	GatewayHTTPWS = Identity{Category: "gateway", Type: "http-ws"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to ICQ
	GatewayICQ = Identity{Category: "gateway", Type: "icq"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to IRC
	GatewayIRC = Identity{Category: "gateway", Type: "irc"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to Microsoft Live Communications Server
	GatewayLCS = Identity{Category: "gateway", Type: "lcs"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to the mail.ru IM service
	GatewayMRIM = Identity{Category: "gateway", Type: "mrim"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to MSN Messenger
	GatewayMSN = Identity{Category: "gateway", Type: "msn"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to the MySpace IM service
	GatewayMyspaceim = Identity{Category: "gateway", Type: "myspaceim"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to Microsoft Office Communications Server
	GatewayOCS = Identity{Category: "gateway", Type: "ocs"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to the QQ IM service
	GatewayQQ = Identity{Category: "gateway", Type: "qq"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to IBM Lotus Sametime
	GatewaySametime = Identity{Category: "gateway", Type: "sametime"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE)
	GatewaySimple = Identity{Category: "gateway", Type: "simple"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to the Skype service
	GatewaySkype = Identity{Category: "gateway", Type: "skype"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to Short Message Service
	GatewaySMS = Identity{Category: "gateway", Type: "sms"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to the SMTP (email) network
	GatewaySMTP = Identity{Category: "gateway", Type: "smtp"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to the Tlen IM service
	GatewayTlen = Identity{Category: "gateway", Type: "tlen"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to the Xfire gaming and IM service
	GatewayXfire = Identity{Category: "gateway", Type: "xfire"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to another XMPP service (NOT via native server-to-server communication)
	GatewayXMPP = Identity{Category: "gateway", Type: "xmpp"}

	// Category: The "gateway" category consists of translators between Jabber/XMPP services and non-XMPP services.
	// Type: Gateway to Yahoo! Instant Messenger
	GatewayYahoo = Identity{Category: "gateway", Type: "yahoo"}

	// Category: The "headline" category consists of services that provide real-time news or information (often but not necessarily in a message of type "headline").
	// Type: Service that notifies a user of new email messages.
	HeadlineNewmail = Identity{Category: "headline", Type: "newmail"}

	// Category: The "headline" category consists of services that provide real-time news or information (often but not necessarily in a message of type "headline").
	// Type: RSS notification service.
	HeadlineRSS = Identity{Category: "headline", Type: "rss"}

	// Category: The "headline" category consists of services that provide real-time news or information (often but not necessarily in a message of type "headline").
	// Type: Service that provides weather alerts.
	HeadlineWeather = Identity{Category: "headline", Type: "weather"}

	// Category: The "hierarchy" category is used to describe nodes within a hierarchy of nodes; the "branch" and "leaf" types are exhaustive.
	// Type: A service discovery node that contains further nodes in the hierarchy.
	HierarchyBranch = Identity{Category: "hierarchy", Type: "branch"}

	// Category: The "hierarchy" category is used to describe nodes within a hierarchy of nodes; the "branch" and "leaf" types are exhaustive.
	// Type: A service discovery node that does not contain further nodes in the hierarchy.
	HierarchyLeaf = Identity{Category: "hierarchy", Type: "leaf"}

	// Category: The "proxy" category consists of servers or services that act as special-purpose proxies or intermediaries between two or more XMPP endpoints.
	// Type: SOCKS5 bytestreams proxy service
	ProxyBytestreams = Identity{Category: "proxy", Type: "bytestreams"}

	// Category: Services and nodes that adhere to XEP-0060.
	// Type: A pubsub node of the "collection" type.
	PubsubCollection = Identity{Category: "pubsub", Type: "collection"}

	// Category: Services and nodes that adhere to XEP-0060.
	// Type: A pubsub node of the "leaf" type.
	PubsubLeaf = Identity{Category: "pubsub", Type: "leaf"}

	// Category: Services and nodes that adhere to XEP-0060.
	// Type: A personal eventing service that supports the publish-subscribe subset defined in XEP-0163.
	PubsubPEP = Identity{Category: "pubsub", Type: "pep"}

	// Category: Services and nodes that adhere to XEP-0060.
	// Type: A pubsub service that supports the functionality defined in XEP-0060.
	PubsubService = Identity{Category: "pubsub", Type: "service"}

	// Category: The "server" category consists of any Jabber/XMPP server.
	// Type: Standard Jabber/XMPP server used for instant messaging and presence
	ServerIM = Identity{Category: "server", Type: "im"}

	// Category: The "store" category consists of internal server components that provide data storage and retrieval services.
	// Type: A server component that stores data in a Berkeley database
	StoreBerkeley = Identity{Category: "store", Type: "berkeley"}

	// Category: The "store" category consists of internal server components that provide data storage and retrieval services.
	// Type: A server component that stores data on the file system
	StoreFile = Identity{Category: "store", Type: "file"}

	// Category: The "store" category consists of internal server components that provide data storage and retrieval services.
	// Type: A server data storage component other than one of the registered types
	StoreGeneric = Identity{Category: "store", Type: "generic"}

	// Category: The "store" category consists of internal server components that provide data storage and retrieval services.
	// Type: A server component that stores data in an LDAP database
	StoreLDAP = Identity{Category: "store", Type: "ldap"}

	// Category: The "store" category consists of internal server components that provide data storage and retrieval services.
	// Type: A server component that stores data in a MySQL database
	StoreMysql = Identity{Category: "store", Type: "mysql"}

	// Category: The "store" category consists of internal server components that provide data storage and retrieval services.
	// Type: A server component that stores data in an Oracle database
	StoreOracle = Identity{Category: "store", Type: "oracle"}

	// Category: The "store" category consists of internal server components that provide data storage and retrieval services.
	// Type: A server component that stores data in a PostgreSQL database
	StorePostgres = Identity{Category: "store", Type: "postgres"}
)