File: BEID_Card.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 (145 lines) | stat: -rw-r--r-- 6,333 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
/* ----------------------------------------------------------------------------
 * 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>
/// Abstract base class for all the card type supported.
/// The BEID_ReaderContext::getCard() method will return such an object.
/// </summary>
public class BEID_Card : BEID_Object {
  private HandleRef swigCPtr;

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

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

  ~BEID_Card() {
    Dispose();
  }

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

  /// <summary>Return the type of the card.</summary>
  public virtual BEID_CardType getType()
  {
    BEID_CardType ret = (BEID_CardType)beidlib_dotNetPINVOKE.BEID_Card_getType(swigCPtr);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary> 
  /// Return a document from the card.
  /// </summary>
  /// <remarks>
  /// Throw BEID_ExDocTypeUnknown exception if the document doesn't exist for this card. 
  /// </remarks>
  public virtual BEID_XMLDoc getDocument(BEID_DocumentType type)
  {
    BEID_XMLDoc ret = new BEID_XMLDoc(beidlib_dotNetPINVOKE.BEID_Card_getDocument(swigCPtr, (int)type), false);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary> 
  /// Return a raw data from the card.
  /// </summary>
  /// <remarks>
  /// Throw BEID_ExFileTypeUnknown exception if the document doesn't exist for this card. 
  /// </remarks>
  public virtual BEID_ByteArray getRawData(BEID_RawDataType type)
  {
    BEID_ByteArray ret = new BEID_ByteArray(beidlib_dotNetPINVOKE.BEID_Card_getRawData(swigCPtr, (int)type), false);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>Send an APDU command to the card and get the result.</summary>
  /// <param name="cmd">is the apdu command</param> 
  /// <returns>a BEID_ByteArray containing the result</returns>
  public virtual BEID_ByteArray sendAPDU(BEID_ByteArray cmd)
  {
    BEID_ByteArray ret = new BEID_ByteArray(beidlib_dotNetPINVOKE.BEID_Card_sendAPDU(swigCPtr, BEID_ByteArray.getCPtr(cmd)), true);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>Read a File from the card.</summary>
  /// <param name="fileID">is the path of the file</param>  
  /// <param name="ulOffset">is the offset to begins the reading</param> 
  /// <param name="ulMaxLength">is the maximum length of bytes to read</param>  
  /// <returns>A BEID_ByteArray with the content of the file</returns>
  public virtual BEID_ByteArray readFile(string fileID, uint ulOffset, uint ulMaxLength)
  {
    BEID_ByteArray ret = new BEID_ByteArray(beidlib_dotNetPINVOKE.BEID_Card_readFile__SWIG_0(swigCPtr, fileID, ulOffset, ulMaxLength), true);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>Read a File from the card.</summary>
  /// <param name="fileID">is the path of the file</param>  
  /// <param name="ulOffset">is the offset to begins the reading</param> 
  /// <returns>A BEID_ByteArray with the content of the file</returns>
  public virtual BEID_ByteArray readFile(string fileID, uint ulOffset)
  {
    BEID_ByteArray ret = new BEID_ByteArray(beidlib_dotNetPINVOKE.BEID_Card_readFile__SWIG_1(swigCPtr, fileID, ulOffset), true);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>Read a File from the card.</summary>
  /// <param name="fileID">is the path of the file</param>  
  /// <returns>A BEID_ByteArray with the content of the file</returns>
  public virtual BEID_ByteArray readFile(string fileID)
  {
    BEID_ByteArray ret = new BEID_ByteArray(beidlib_dotNetPINVOKE.BEID_Card_readFile__SWIG_2(swigCPtr, fileID), true);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>Write a file to the card.</summary>
  /// <param name="fileID">is the path of the file</param> 
  /// <param name="oData">contents the bytes to write</param> 
  /// <param name="ulOffset"> is the offset to begins the writing</param> 
  public virtual bool writeFile(string fileID, BEID_ByteArray oData, uint ulOffset)
  {
    bool ret = beidlib_dotNetPINVOKE.BEID_Card_writeFile__SWIG_0(swigCPtr, fileID, BEID_ByteArray.getCPtr(oData), ulOffset);
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  /// <summary>Write a file to the card.</summary>
  /// <param name="fileID">is the path of the file</param> 
  /// <param name="oData">contents the bytes to write</param> 
  public virtual bool writeFile(string fileID, BEID_ByteArray oData)
  {
    bool ret = beidlib_dotNetPINVOKE.BEID_Card_writeFile__SWIG_1(swigCPtr, fileID, BEID_ByteArray.getCPtr(oData));
    if (beidlib_dotNetPINVOKE.SWIGPendingException.Pending) throw beidlib_dotNetPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

}

}