[C# Wi-Fi Direct] Adding C# Wi-Fi Direct code
[platform/core/csapi/tizenfx.git] / src / Tizen.Network.WiFiDirect / Tizen.Network.WiFiDirect / WiFiDirectEnumerations.cs
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 using System;
18 using Tizen.Internals.Errors;
19
20 namespace Tizen.Network.WiFiDirect
21 {
22     /// <summary>
23     /// Enumeration for Wi-Fi Direct discovery state.
24     /// </summary>
25     public enum WiFiDirectDiscoveryState
26     {
27         /// <summary>
28         /// Only listen has started.
29         /// </summary>
30         OnlyListenStarted = 0,
31         /// <summary>
32         /// Discovery started.
33         /// </summary>
34         Started,
35         /// <summary>
36         /// A remote peer is found.
37         /// </summary>
38         Found,
39         /// <summary>
40         /// Discovery finished.
41         /// </summary>
42         Finished,
43         /// <summary>
44         /// A remote peer is lost.
45         /// </summary>
46         Lost
47     }
48
49     /// <summary>
50     /// Enumeration for Wi-Fi Direct display device type.
51     /// </summary>
52     public enum WiFiDirectDisplayType
53     {
54         /// <summary>
55         /// Configure as WFD source.
56         /// </summary>
57         Source = 0,
58         /// <summary>
59         /// Configure as WFD primary sink.
60         /// </summary>
61         Prisink,
62         /// <summary>
63         /// Configure as WFD secondary sink.
64         /// </summary>
65         Secsink,
66         /// <summary>
67         /// Configure as WFD dual role.
68         /// </summary>
69         Dual
70     }
71
72     /// <summary>
73     /// Enumeration for Wi-Fi Discovery channel.
74     /// </summary>
75     public enum WiFiDirectDiscoveryChannel
76     {
77         /// <summary>
78         /// Scan full channel.
79         /// </summary>
80         FullScan = 0,
81         /// <summary>
82         /// The social channel.
83         /// </summary>
84         SocialChannel = 1611,
85         /// <summary>
86         /// Scan channel 1.
87         /// </summary>
88         Channel1 = 1,
89         /// <summary>
90         /// Scan channel 6.
91         /// </summary>
92         Channel6 = 6,
93         /// <summary>
94         /// Scan channel 11.
95         /// </summary>
96         Channel11 = 11
97     }
98
99     /// <summary>
100     /// Enumeration for Wi-Fi Direct connection state.
101     /// </summary>
102     public enum WiFiDirectConnectionState
103     {
104         /// <summary>
105         /// Connection is requested.
106         /// </summary>
107         ConnectionRequest,
108         /// <summary>
109         /// Wps is requested.
110         /// </summary>
111         ConnectionWpsRequest,
112         /// <summary>
113         /// Connection in progress.
114         /// </summary>
115         ConnectionInProgress,
116         /// <summary>
117         /// Connected   .
118         /// </summary>
119         ConnectionRsp,
120         /// <summary>
121         /// Disconnected by remote group client.
122         /// </summary>
123         DisassociationInd,
124         /// <summary>
125         /// Disconnected by local device.
126         /// </summary>
127         DisconnectRsp,
128         /// <summary>
129         /// Disconnected by remote group owner.
130         /// </summary>
131         DisconnectInd,
132         /// <summary>
133         /// Group is created.
134         /// </summary>
135         GroupCreated,
136         /// <summary>
137         /// Group is destroyed.
138         /// </summary>
139         GroupDestroyed
140     }
141
142     /// <summary>
143     /// Enumeration for Wi-Fi Direct primary device type.
144     /// </summary>
145     public enum WiFiDirectPrimaryDeviceType
146     {
147         /// <summary>
148         /// Computer.
149         /// </summary>
150         Computer = 1,
151         /// <summary>
152         /// Input device.
153         /// </summary>
154         InputDevice = 2,
155         /// <summary>
156         /// Printer.
157         /// </summary>
158         Printer = 3,
159         /// <summary>
160         /// Camera.
161         /// </summary>
162         Camera = 4,
163         /// <summary>
164         /// Storage.
165         /// </summary>
166         Storage = 5,
167         /// <summary>
168         /// Network Infrastructure.
169         /// </summary>
170         NetworkInfrastructure = 6,
171         /// <summary>
172         /// Display.
173         /// </summary>
174         Display = 7,
175         /// <summary>
176         /// Multimedia device.
177         /// </summary>
178         MultimediaDevice = 8,
179         /// <summary>
180         /// Game device.
181         /// </summary>
182         GameDevice = 9,
183         /// <summary>
184         /// Telephone.
185         /// </summary>
186         Telephone = 10,
187         /// <summary>
188         /// Audio.
189         /// </summary>
190         Audio = 11,
191         /// <summary>
192         /// Others.
193         /// </summary>
194         Other = 255
195     }
196
197     /// <summary>
198     /// Enumeration for Wi-Fi Direct secondary device type.
199     /// </summary>
200     /// </summary>
201     public enum WiFiDirectSecondaryDeviceType
202     {
203         /// <summary>
204         /// Computer PC.
205         /// </summary>
206         ComputerPc = 1,
207         /// <summary>
208         /// Computer server.
209         /// </summary>
210         ComputerServer = 2,
211         /// <summary>
212         /// Computer media center.
213         /// </summary>
214         ComputerMediaCenter = 3,
215         /// <summary>
216         /// Computer UMPC.
217         /// </summary>
218         ComputerUmpc = 4,
219         /// <summary>
220         /// Computer notebook.
221         /// </summary>
222         ComputerNotebook = 5,
223         /// <summary>
224         /// Computer desktop
225         /// </summary>
226         ComputerDesktop = 6,
227         /// <summary>
228         /// Computer MID.
229         /// </summary>
230         ComputerMid = 7,
231         /// <summary>
232         /// Computer netbook.
233         /// </summary>
234         ComputerNetbook = 8,
235         /// <summary>
236         /// Input keyboard.
237         /// </summary>
238         InputKeyboard = 1,
239         /// <summary>
240         /// Input mouse.
241         /// </summary>
242         InputMouse = 2,
243         /// <summary>
244         /// Input joystick.
245         /// </summary>
246         InputJoystick = 3,
247         /// <summary>
248         /// Input trackball.
249         /// </summary>
250         InputTrackball = 4,
251         /// <summary>
252         /// Input controller.
253         /// </summary>
254         InputController = 5,
255         /// <summary>
256         /// Inpute remote.
257         /// </summary>
258         InputRemote = 6,
259         /// <summary>
260         /// Input touch screen.
261         /// </summary>
262         InputTouchScreen = 7,
263         /// <summary>
264         /// Input biometric reader.
265         /// </summary>
266         InputBiometricReader = 8,
267         /// <summary>
268         /// Input barcode reader.
269         /// </summary>
270         InputBarcodeReader = 9,
271         /// <summary>
272         /// Printer.
273         /// </summary>
274         Printer = 1,
275         /// <summary>
276         /// Printer scanner.
277         /// </summary>
278         PrinterScanner = 2,
279         /// <summary>
280         /// Printer fax.
281         /// </summary>
282         PrinterFax = 3,
283         /// <summary>
284         /// Printer copier.
285         /// </summary>
286         PrinterCopier = 4,
287         /// <summary>
288         /// Printer all-in-one.
289         /// </summary>
290         PrinterAllInOne = 5,
291         /// <summary>
292         /// Digital still camera.
293         /// </summary>
294         CameraDigital = 1,
295         /// <summary>
296         /// Video camera.
297         /// </summary>
298         CameraVideo = 2,
299         /// <summary>
300         /// Webcam.
301         /// </summary>
302         CameraWebcam = 3,
303         /// <summary>
304         /// Security camera.
305         /// </summary>
306         CameraSecurity = 4,
307         /// <summary>
308         /// Storage NAS.
309         /// </summary>
310         StorageNas = 1,
311         /// <summary>
312         /// Network ap.
313         /// </summary>
314         NetworkAp = 1,
315         /// <summary>
316         /// Network router.
317         /// </summary>
318         NetworkRouter = 2,
319         /// <summary>
320         /// Network switch.
321         /// </summary>
322         NetworkSwitch = 3,
323         /// <summary>
324         /// Network gateway.
325         /// </summary>
326         NetworkGateway = 4,
327         /// <summary>
328         /// Display tv.
329         /// </summary>
330         DisplayTv = 1,
331         /// <summary>
332         /// Display picture frame.
333         /// </summary>
334         DisplayPicFrame = 2,
335         /// <summary>
336         /// Display projector.
337         /// </summary>
338         DisplayProjector = 3,
339         /// <summary>
340         /// Display monitor.
341         /// </summary>
342         DisplayMonitor = 4,
343         /// <summary>
344         /// Multimedia DAR.
345         /// </summary>
346         MultimediaDar = 1,
347         /// <summary>
348         /// Multimedia PVR.
349         /// </summary>
350         MultimediaPvr = 2,
351         /// <summary>
352         /// Multimedia MCX.
353         /// </summary>
354         MultimediaMcx = 3,
355         /// <summary>
356         /// Multimedia set-top box.
357         /// </summary>
358         MultimediaStb = 4,
359         /// <summary>
360         /// Media Server / Media Adapter / Media Extender.
361         /// </summary>
362         MultimediaMsMaMe = 5,
363         /// <summary>
364         /// Multimedia portable video player.
365         /// </summary>
366         MultimediaPvp = 6,
367         /// <summary>
368         /// Game xbox.
369         /// </summary>
370         GameXbox = 1,
371         /// <summary>
372         /// The game xbox 360.
373         /// </summary>
374         GameXbox360,
375         /// <summary>
376         /// Game play station.
377         /// </summary>
378         GamePlayStation = 2,
379         /// <summary>
380         /// Game console.
381         /// </summary>
382         GameConsole = 3,
383         /// <summary>
384         /// Game portable.
385         /// </summary>
386         GamePortable = 4,
387         /// <summary>
388         /// Windows mobile.
389         /// </summary>
390         TelephoneWindowsMobile = 1,
391         /// <summary>
392         /// Phone - single mode.
393         /// </summary>
394         TelephonePhoneSingle = 2,
395         /// <summary>
396         /// Phone - dual mode.
397         /// </summary>
398         TelephonePhoneDual = 3,
399         /// <summary>
400         /// Smart Phone - single mode.
401         /// </summary>
402         TelephoneSmartphoneSingle = 4,
403         /// <summary>
404         /// Smart Phone - dual mode.
405         /// </summary>
406         TelephoneSmartphoneDual = 5,
407         /// <summary>
408         /// Audio tuner.
409         /// </summary>
410         AudioTuner = 1,
411         /// <summary>
412         /// Audio speaker.
413         /// </summary>
414         AudioSpeaker = 2,
415         /// <summary>
416         /// Audio pmp.
417         /// </summary>
418         AudioPmp = 3,
419         /// <summary>
420         /// Audio headset.
421         /// </summary>
422         AudioHeadset = 4,
423         /// <summary>
424         /// Audio headphone.
425         /// </summary>
426         AudioHeadphone = 5,
427         /// <summary>
428         /// Audio microphone.
429         /// </summary>
430         AudioMic = 6
431     }
432
433     /// <summary>
434     /// Enumeration for Wi-Fi Direct link status.
435     /// </summary>
436     /// </summary>
437     public enum WiFiDirectState
438     {
439         /// <summary>
440         /// Deactivated.
441         /// </summary>
442         Deactivated = 0,
443         /// <summary>
444         /// Deactivating.
445         /// </summary>
446         Deactivating,
447         /// <summary>
448         /// Activating.
449         /// </summary>
450         Activating,
451         /// <summary>
452         /// Activated.
453         /// </summary>
454         Activated,
455         /// <summary>
456         /// Discovering.
457         /// </summary>
458         Discovering,
459         /// <summary>
460         /// Connecting.
461         /// </summary>
462         Connecting,
463         /// <summary>
464         /// Disconnecting.
465         /// </summary>
466         Disconnecting,
467         /// <summary>
468         /// Connected.
469         /// </summary>
470         Connected,
471         /// <summary>
472         /// Group owner.
473         /// </summary>
474         GroupOwner
475     }
476
477     /// <summary>
478     /// Enumeration for Wi-Fi WPS type.
479     /// </summary>
480     public enum WiFiDirectWpsType
481     {
482         /// <summary>
483         /// No WPS type.
484         /// </summary>
485         None = 0x00,
486         /// <summary>
487         /// Push button configuration.
488         /// </summary>
489         Pbc = 0x01,
490         /// <summary>
491         /// Display pin code.
492         /// </summary>
493         PinDisplay = 0x02,
494         /// <summary>
495         /// Provide the keypad to input the pin.
496         /// </summary>
497         PinKeypad = 0x04
498     }
499
500     /// <summary>
501     /// Enumeration for Service Discovery type.
502     /// </summary>
503     public enum WiFiDirectServiceType
504     {
505         /// <summary>
506         /// Service discovery Type all.
507         /// </summary>
508         All,
509         /// <summary>
510         /// Service discovery Type bonjour.
511         /// </summary>
512         Bonjour,
513         /// <summary>
514         /// Service discovery Type UPNP.
515         /// </summary>
516         Upnp,
517         /// <summary>
518         /// Service discovery Type ws discovery.
519         /// </summary>
520         WsDiscovery,
521         /// <summary>
522         /// Service discovery Type wifi-display.
523         /// </summary>
524         WiFiDisplay,
525         /// <summary>
526         /// Service discovery Type bt address.
527         /// </summary>
528         BtAddress,
529         /// <summary>
530         /// Service discovery Type contact info.
531         /// </summary>
532         ContactInfo,
533         /// <summary>
534         /// Service discovery Type vendor-specific.
535         /// </summary>
536         Vendor
537     }
538
539     /// <summary>
540     /// Enumeration for Wi-Fi Direct service Discovery state.
541     /// </summary>
542     public enum WiFiDirectServiceDiscoveryState
543     {
544         /// <summary>
545         /// Service discovery started.
546         /// </summary>
547         Started,
548         /// <summary>
549         /// Service discovery found.
550         /// </summary>
551         Found,
552         /// <summary>
553         /// Service discovery finished.
554         /// </summary>
555         Finished
556     }
557
558     /// <summary>
559     /// Enumeration for Wi-Fi Direct device state.
560     /// </summary>
561     public enum WiFiDirectDeviceState
562     {
563         /// <summary>
564         /// Activated.
565         /// </summary>
566         Activated,
567         /// <summary>
568         /// Deactivated.
569         /// </summary>
570         Deactivated
571     }
572
573     /// <summary>
574     /// Enumeration for Wi-Fi Direct error code.
575     /// </summary>
576     public enum WiFiDirectError
577     {
578         /// <summary>
579         /// Successful.
580         /// </summary>
581         None = ErrorCode.None,
582         /// <summary>
583         /// Operation not permitted.
584         /// </summary>
585         NotPermitted = ErrorCode.NotPermitted,
586         /// <summary>
587         /// Out of memory.
588         /// </summary>
589         OutOfMemory = ErrorCode.OutOfMemory,
590         /// <summary>
591         /// Permission denied.
592         /// </summary>
593         PermissionDenied = ErrorCode.PermissionDenied,
594         /// <summary>
595         /// Device or resource busy.
596         /// </summary>
597         ResourceBusy = ErrorCode.ResourceBusy,
598         /// <summary>
599         /// Invalid function parameter.
600         /// </summary>
601         InvalidParameter = ErrorCode.InvalidParameter,
602         /// <summary>
603         /// Connection timed out.
604         /// </summary>
605         ConnectionTimeOut = ErrorCode.ConnectionTimeout,
606         /// <summary>
607         /// Not supported.
608         /// </summary>
609         NotSupported = ErrorCode.NotSupported,
610         /// <summary>
611         /// Not initialized.
612         /// </summary>
613         NotInitialized = -0x01C60000 | 0x01,
614         /// <summary>
615         /// I/O error.
616         /// </summary>
617         CommunicationFailed = -0x01C60000 | 0x02,
618         /// <summary>
619         /// WiFi is being used.
620         /// </summary>
621         WiFiUsed = -0x01C60000 | 0x03,
622         /// <summary>
623         /// Mobile AP is being used.
624         /// </summary>
625         MobileApUsed = -0x01C60000 | 0x04,
626         /// <summary>
627         /// Connection failed.
628         /// </summary>
629         ConnectionFailed = -0x01C60000 | 0x05,
630         /// <summary>
631         /// Authentication failed.
632         /// </summary>
633         AuthFailed = -0x01C60000 | 0x06,
634         /// <summary>
635         /// Operation failed.
636         /// </summary>
637         OperationFailed = -0x01C60000 | 0x07,
638         /// <summary>
639         /// Too many client.
640         /// </summary>
641         TooManyClient = -0x01C60000 | 0x08,
642         /// <summary>
643         /// Already initialized client.
644         /// </summary>
645         AlreadyInitialized = -0x01C60000 | 0x09,
646         /// <summary>
647         /// Connection cancelled by local device.
648         /// </summary>
649         ConnectionCancelled = -0x01C60000 | 0x10
650     }
651 }