001 /*
002 * ===========================================================================================
003 * = COPYRIGHT
004 *          PAX Computer Technology (Shenzhen) Co., Ltd. PROPRIETARY INFORMATION
005 *   This software is supplied under the terms of a license agreement or nondisclosure
006 *   agreement with PAX Computer Technology (Shenzhen) Co., Ltd. and may not be copied or
007 *   disclosed except in accordance with the terms in that agreement.
008 *     Copyright (C) 2017-2023 PAX Computer Technology (Shenzhen) Co., Ltd. All rights reserved.
009 * Description: // Detail description about the function of this module,
010 *             // interfaces with the other modules, and dependencies.
011 * Revision History:
012 * Date                         Author                        Action
013 * 2017/04/01                   PAX                     Create/Add/Modify/Delete
014 * ===========================================================================================
015 */
016 
017package com.pax.dal;
018
019import com.pax.dal.entity.EPedType;
020import com.pax.dal.entity.EPiccType;
021import com.pax.dal.entity.EScannerType;
022import com.pax.dal.pedkeyisolation.IPedKeyIsolation;
023
024 public interface IDAL {
025    /**
026     * <div class="zh"> 获取刷卡器, 内置 </div> <div class="en"> get interface IMag (internal swiping card reader) </div>
027     * 
028     * @return {@link IMag}
029     */
030    IMag getMag();
031
032    /**
033     * <div class="zh"> 获取接触式读卡器,内置 </div> <div class="en"> get interface IIcc (internal contact card reader) </div>
034     * 
035     * @return {@link IIcc}
036     */
037    IIcc getIcc();
038
039    // /**
040    // * <div class="zh"> 获取ISle4442 </div> <div class="en"> get interface ISle4442 </div>
041    // *
042    // * @since V2.00.01
043    // * @return {@link ISle4442}
044    // */
045    // @Deprecated
046    // public ISle4442 getISle4442();
047
048    // /**
049    // * <div class="zh"> 获取ISle4442 </div> <div class="en"> get interface ISle4442 </div>
050    // *
051    // * @since V2.00.01
052    // * @return {@link ISle4442}
053    // */
054    // @Deprecated
055    // public ISle4442 getSle4442();
056
057    // /**
058    // * <div class="zh"> 获取IPuk </div> <div class="en"> get interface IPuk </div>
059    // *
060    // * @since V2.00.01
061    // * @return {@link IPuk}
062    // */
063    // @Deprecated
064    // public IPuk getIPuk();
065
066    /**
067     * <div class="zh"> 获取IPuk </div> <div class="en"> get interface IPuk </div>
068     * 
069     * @return {@link IPuk}
070     */
071    IPuk getPuk();
072
073    /**
074     * <div class="zh"> 获取非接读卡器, 内置 </div> <div class="en"> get interface IPicc </div>
075     * 
076     * @param type
077     *            {@link EPiccType}
078     * @return {@link IPicc}
079     */
080    IPicc getPicc(EPiccType type);
081
082    /**
083     * <div class="zh"> 获取打印机, 内置 </div> <div class="en"> get the interface of IPrinter (internal printer) </div>
084     * 
085     * @return {@link IPrinter}
086     */
087    IPrinter getPrinter();
088
089    /**
090     * <div class="zh"> 获取密码键盘 </div> <div class="en"> get interface IPed </div>
091     * 
092     * @param type
093     *            {@link EPedType}
094     * @return {@link IPed}
095     */
096    IPed getPed(EPedType type);
097
098    /**
099     * <div class="zh"> 获取系统信息 </div> <div class="en"> get interface ISys </div>
100     * 
101     * @return {@link ISys}
102     */
103    ISys getSys();
104
105    /**
106     * <div class="zh"> 获取键盘设备 </div> <div class="en"> get interface IKeyBoard </div>
107     * 
108     * @return {@link IKeyBoard}
109     */
110    IKeyBoard getKeyBoard();
111
112    /**
113     * <div class="zh"> 获取扫描枪 </div> <div class="en"> get interface IScanner </div>
114     * 
115     * @param type
116     *            {@link EScannerType}
117     * @return {@link IScanner}
118     */
119    IScanner getScanner(EScannerType type);
120    
121    /**
122     * <div class="zh"> 获取硬扫码接口 </div> <div class="en"> get hardware scanner interface </div>
123     * @return {@link IScannerHw}
124     * @since V3.04.00
125     */
126    IScannerHw getScannerHw();
127
128    /**
129     * <div class="zh"> 获取通讯方法 </div> <div class="en"> get interface ICommManager for terminal communication </div>
130     * 
131     * @return {@link IDalCommManager}
132     */
133    IDalCommManager getCommManager();
134
135    /**
136     * <div class="zh"> 获取签名板 </div> <div class="en"> get interface ISignPad </div>
137     * 
138     * @return {@link ISignPad}
139     */
140    ISignPad getSignPad();
141
142    /**
143     * <div class="zh"> 获取读卡帮助类 </div> <div class="en"> get interface ICardReaderHelper </div>
144     * 
145     * @return {@link ICardReaderHelper}
146     */
147    ICardReaderHelper getCardReaderHelper();
148
149    IPedTrSys getPedTrSys();
150
151    IPedNp getPedNp();
152
153    IPedBg getPedBg();
154
155    /**
156     * <div class="zh"> 获取IDeviceInfo </div> <div class="en"> get interface IDeviceInfo </div>
157     * 
158     * @since V2.00.01
159     * @return {@link IDeviceInfo}
160     */
161    IDeviceInfo getDeviceInfo();
162
163    /**
164     * <div class="zh"> 获取IIDReader </div> <div class="en"> get interface IIDReader </div>
165     * 
166     * @return {@link IIDReader}
167     * @since V2.00.03
168     */
169    IIDReader getIDReader();
170
171
172    /**
173     * <div class="zh"> 获取IPedKeyIsolation </div> <div class="en"> get interface IPedKeyIsolation </div>
174     *
175     * @param pedType {@link EPedType}
176     * @param signature <div class="zh">签名数据, BASE64格式</div> <div class="en">signature,BASE64 format</div>
177     * @return {@link IPedKeyIsolation}
178     * @since V2.00.05
179     */
180    @Deprecated
181    IPedKeyIsolation getPedKeyIsolation(EPedType pedType, byte[] signature);
182
183
184    /**
185     * <div class="zh"> 获取ICashDrawer </div> <div class="en"> get interface ICashDrawer </div>
186     * 
187     * @return {@link ICashDrawer}
188     * @since V2.00.05
189     */
190    ICashDrawer getCashDrawer();
191
192    /**
193     * <div class="zh"> 获取扫描解码接口 </div> <div class="en"> get interface IScanCodec </div>
194     * 
195     * @return {@link IScanCodec}
196     * @since V2.02.00
197     */
198    IScanCodec getScanCodec();
199
200    /**
201     * <div class="zh"> 获取wifi探针接口 </div> <div class="en"> get interface IWifiProbe </div>
202     * 
203     * @return {@link IWifiProbe}
204     * @since V2.03.00
205     */
206    IWifiProbe getWifiProbe();
207
208    /**
209     * <div class="zh"> 获取终端管理接口 </div> <div class="en"> get interface IPhoneManager </div>
210     * 
211     * @return {@link IPhoneManager}
212     * @since V3.00.00
213     */
214    IPhoneManager getPhoneManager();
215
216    /**
217     * <div class="zh"> 获取IIDReaderEx </div> <div class="en"> get interface IIDReaderEx </div>
218     * 
219     * @return {@link IIDReaderEx}
220     * @since V3.00.00
221     */
222    IIDReaderEx getIDReaderEx();
223    
224    /**
225     *<div class="zh"> 获取IFingerprintReader </div> <div class="en"> get interface IFingerprintReader </div>
226     *  
227     * @return {@link IFingerprintReader}
228     * @since V3.04.00
229     */
230    IFingerprintReader getFingerprintReader();
231    
232    /**
233     *<div class="zh"> 获取IBase </div> <div class="en"> get interface IBase </div>
234     *  
235     * @return {@link IBase}
236     * @since V3.13.00
237     */
238    IBase getBase();
239    
240    /**
241     * <div class="zh">获取IFaceDetector。 </div> <div class="en">get interface IFaceDetector. </div>
242     * 
243     * @return {@link IFaceDetector}
244     * @since V3.14.00
245     */
246    IFaceDetector getFaceDetector();
247    
248    /**
249     * <div class="zh"> 获取IOCR </div> <div class="en"> get interface IOCR </div>
250     * @return {@link IOCR}
251     * @since V3.16.00
252     */
253    IOCR getOCR();
254    
255    /**
256     * <div class="zh">获取ILivenessDetector</div> <div class="en">Get inferface ILivenessDetector.</div>
257     * @return {@link ILivenessDetector}
258     * @since V3.19.00
259     */
260    ILivenessDetector getLivenessDetector();
261    
262    /**
263     * <div class="zh"> 获取IPaxVpn。 </div> <div class="en"> get interface IPaxVpn. </div>
264     * 
265     * @return {@link IPaxVpn}
266     * @since V3.20.00
267     */
268    IPaxVpn getPaxVpn();
269    
270    /**
271     * <div class="zh"> 获取IPaymentDevice.</div> <div class="en"> get interface IPaymentDevice. </div>
272     * @return {@link IPaymentDevice}
273     * @since V3.20.00
274     */
275    IPaymentDevice getPaymentDevice();
276    
277    /**
278     * <div class="zh"> 获取INetwork。</div> <div class="en"> get interface INetwork.</div>
279     * @return {@link INetwork}
280     * @since V3.20.00
281     */
282    INetwork getNetwork();
283
284    /**
285     * <div class="zh">获取IPedKeyIsolationManager。</div> <div class="en">Get interface IPedKeyIsolationManager.</div>
286     * @param pedType {@link EPedType}
287     * @return {@link IPedKeyIsolationManager}
288     */
289    IPedKeyIsolationManager getPedKeyIsolationManager(EPedType pedType);
290    /**
291     * <div class="zh"> 获取IP2PE。</div> <div class="en"> Get interface IP2PE.</div>
292     *
293     * @return {@link IP2PE}
294     * @since V3.22.00
295     */
296    IP2PE getP2PE();
297
298    /**
299     * <div class="zh"> 获取顾客显示屏接口。</div> <div class="en"> get interface ICustomerDisplay. </div>
300     *
301     * @return {@link ICustomerDisplay}
302     * @since V3.25.00
303     */
304    ICustomerDisplay getCustomerDisplay();
305
306    /**
307     * <div class="zh"> 获取IPedAuthManager。</div> <div class="en"> get interface IPedAuthManager. </div>
308     *
309     * @return {@link IPedAuthManager}
310     * @since V3.29.00
311     */
312    IPedAuthManager getPedAuthManager();
313
314    /**
315     * <div class="zh"> 获取ITypeA。</div> <div class="en"> Get interface ITypeA.</div>
316     *
317     * @return {@link ITypeA}
318     * @since V3.26.00
319     */
320    ITypeA getTypeA();
321
322    /**
323     * <div class="zh"> 获取IPedKeyIsolationMixedManager。</div> <div class="en"> Get interface IPedKeyIsolationMixedManager.</div>
324     *
325     * @return {@link IPedKeyIsolationMixedManager}
326     * @since V4.00.00
327     */
328    IPedKeyIsolationMixedManager getPedKeyIsolationMixedManager();
329
330    /**
331     * <div class="zh"> 获取扫描解码接口 </div> <div class="en"> get interface IScanCodec </div>
332     * @param type <div class="zh">解码库类型:0:zmxf 1:kudw 只有当对应解码库激活时才生效,其他值表示默认</div>
333     *             <div class="en">Decode library type: 0:zmxf 1:kudw Takes effect only when the corresponding decode library is activated.
334     *             Other values are default</div>
335     * @return {@link IScanCodec}
336     * @since V3.32.00
337     */
338    IScanCodec getScanCodec(int type);
339
340    /**
341     * <div class="zh"> 获取IPedCustomization。</div> <div class="en"> Get interface IPedCustomization.</div>
342     *
343     * @return {@link IPedCustomization}
344     * @since V4.02.00
345     */
346    IPedCustomization getPedCustomization();
347
348    /**
349     * <div class="zh"> 获取ILPR </div> <div class="en"> get interface 获取ILPR </div>
350     * @return {@link ILPR}
351     * @since V4.04.00
352     */
353    ILPR getLPR();
354
355    /**
356     * <div class="zh"> 获取IWLCustomerDisplay </div> <div class="en"> Get interface IWLCustomerDisplay </div>
357         *
358     * @return {@link IWLCustomerDisplay}
359         *
360     * @since V4.08.00
361     */
362    IWLCustomerDisplay getWLCustomerDisplay();
363
364    /**
365     * <div class="zh"> 获取IWLTax </div> <div class="en"> Get interface WLTax </div>
366     *
367     * @return {@link IWLTax}
368     *
369     * @since V4.11.00
370     */
371    IWLTax getWLTax();
372
373    /**
374     * <div class="zh"> 获取IWLAttack </div> <div class="en"> Get interface IWLAttack </div>
375     *
376     * @return {@link IWLCustomerDisplay}
377     *
378     * @since V4.11.00
379     */
380    IWLAttack getWLAttack();
381
382    /**
383     * <div class="zh"> 获取IWhiteListControl </div> <div class="en"> Get interface IWhiteListControl </div>
384     *
385     * @return {@link IWhiteListControl}
386     *
387     * @since V4.11.00
388     */
389    IWhiteListControl getWLWhiteListControl();
390
391    /**
392     * <div class="zh"> 获取IWLEKUManager </div> <div class="en"> Get interface IWLEKUManager </div>
393     *
394     * @return {@link IWLEKUManager}
395     *
396     * @since V4.11.00
397     */
398    IWLEKUManager getWLEKUManager();
399
400}