File: BEID_Pin.cs

package info (click to toggle)
beid 3.5.2.dfsg-10
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 147,240 kB
  • ctags: 34,507
  • sloc: cpp: 149,944; ansic: 41,577; java: 8,927; cs: 6,528; sh: 2,426; perl: 1,866; xml: 805; python: 463; makefile: 263; lex: 92
file content (164 lines) | stat: -rw-r--r-- 6,230 bytes parent folder | download
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
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace be.belgium.eid {

using System;
using System.Runtime.InteropServices;

/// <summary>Class that represent one Pin.</summary> 
public class BEID_Pin : BEID_Crypto {
  private HandleRef swigCPtr;

  internal BEID_Pin(IntPtr cPtr, bool cMemoryOwn) : base(beidlib_dotNetPINVOKE.BEID_PinUpcast(cPtr), cMemoryOwn) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(BEID_Pin obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~BEID_Pin() {
    Dispose();
  }

  public override void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        beidlib_dotNetPINVOKE.delete_BEID_Pin(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
      base.Dispose();
    }
  }

  /// <summary>Get the index of the pin.</summary>
  public uint getIndex()
  {
    uint ret = beidlib_dotNetPINVOKE.BEID_Pin_getIndex(swigCPtr);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>Get the type of the pin.</summary>
  public uint getType()
  {
    uint ret = beidlib_dotNetPINVOKE.BEID_Pin_getType(swigCPtr);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>Get the id of the pin.</summary>
  public uint getId()
  {
    uint ret = beidlib_dotNetPINVOKE.BEID_Pin_getId(swigCPtr);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>Get the usage code of the pin.</summary>
  public BEID_PinUsage getUsageCode()
  {
    BEID_PinUsage ret = (BEID_PinUsage)beidlib_dotNetPINVOKE.BEID_Pin_getUsageCode(swigCPtr);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>Get the flags of the pin.</summary>
  public uint getFlags()
  {
    uint ret = beidlib_dotNetPINVOKE.BEID_Pin_getFlags(swigCPtr);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>Get the label of the pin.</summary>
  public string getLabel()
  {
    string ret = beidlib_dotNetPINVOKE.BEID_Pin_getLabel(swigCPtr);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>Return the signature of the pin.</summary>
  public BEID_ByteArray getSignature()
  {
    BEID_ByteArray ret = new BEID_ByteArray(beidlib_dotNetPINVOKE.BEID_Pin_getSignature(swigCPtr), false);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>
  /// Return the remaining tries for giving the good pin.
  /// This opperation is not supported by all card.
  /// </summary>
   /// <returns>
   /// -1 if not supported 
   /// the number of remaining tries in the other case
   /// </returns> 
  public int getTriesLeft()
  {
    int ret = beidlib_dotNetPINVOKE.BEID_Pin_getTriesLeft(swigCPtr);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>
  /// Ask the card to verify the pin.
  /// A popup will ask for the code.
  /// </summary>
  /// <returns>true if success and false if failed</returns>  
  public bool verifyPin() {
    bool ret = beidlib_dotNetPINVOKE.BEID_Pin_verifyPin__SWIG_0(swigCPtr);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>Ask the card to verify the pin.</summary>
  /// <param name="csPin">is the pin code to verify (if csPin is empty, a popup will ask for the code)</param>  
  /// <param name="ulRemaining">return the remaining tries (only if verifying failed)</param>  
  /// <returns>true if success and false if failed</returns> 
  public bool verifyPin(string csPin, ref uint ulRemaining)
  {
    bool ret = beidlib_dotNetPINVOKE.BEID_Pin_verifyPin__SWIG_1(swigCPtr, csPin, ref ulRemaining);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>
  /// Ask the card to change the pin.
  /// A popup will ask for the codes.
  /// </summary>
  /// <returns>true if success and false if failed</returns> 
  public bool changePin()
  {
    bool ret = beidlib_dotNetPINVOKE.BEID_Pin_changePin__SWIG_0(swigCPtr);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>
  /// Ask the card to change the pin.
  /// if csPin1 or csPin2 are empty, a popup will ask for the codes.
  /// </summary>
  /// <param name="csPin1">is the old pin code</param>  
  /// <param name="csPin2">is the new pin code</param>  
  /// <param name="ulRemaining">return the remaining tries (only when operation failed)</param>  
  /// <returns>true if success and false if failed</returns> 
  public bool changePin(string csPin1, string csPin2, ref uint ulRemaining)
  {
    bool ret = beidlib_dotNetPINVOKE.BEID_Pin_changePin__SWIG_1(swigCPtr, csPin1, csPin2, ref ulRemaining);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

}

}