00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00018
00019 #ifndef CHIPCARD_CLIENT_CLIENT_IMP_H
00020 #define CHIPCARD_CLIENT_CLIENT_IMP_H
00021
00022 #include "client.h"
00023
00024 #include <chipcard3/client/notifications.h>
00025
00026 #include <gwenhywfar/db.h>
00027
00028
00029 typedef
00030 LC_CLIENT_RESULT CHIPCARD_CB (*LC_CLIENT_INIT_FN)(LC_CLIENT *cl,
00031 GWEN_DB_NODE *dbConfig);
00032 typedef LC_CLIENT_RESULT CHIPCARD_CB (*LC_CLIENT_FINI_FN)(LC_CLIENT *cl);
00033
00034 typedef LC_CLIENT_RESULT CHIPCARD_CB (*LC_CLIENT_START_FN)(LC_CLIENT *cl);
00035 typedef LC_CLIENT_RESULT CHIPCARD_CB (*LC_CLIENT_STOP_FN)(LC_CLIENT *cl);
00036
00037 typedef
00038 LC_CLIENT_RESULT CHIPCARD_CB
00039 (*LC_CLIENT_SETNOTIFY_FN)(LC_CLIENT *cl,
00040 GWEN_TYPE_UINT32 flags);
00041
00042 typedef
00043 LC_CLIENT_RESULT CHIPCARD_CB (*LC_CLIENT_GETNEXTCARD_FN)(LC_CLIENT *cl,
00044 LC_CARD **pCard,
00045 int timeout);
00046 typedef
00047 LC_CLIENT_RESULT CHIPCARD_CB (*LC_CLIENT_RELEASECARD_FN)(LC_CLIENT *cl,
00048 LC_CARD *card);
00049 typedef
00050 LC_CLIENT_RESULT CHIPCARD_CB (*LC_CLIENT_EXECAPDU_FN)(LC_CLIENT *cl,
00051 LC_CARD *card,
00052 const char *apdu,
00053 unsigned int len,
00054 GWEN_BUFFER *rbuf,
00055 LC_CLIENT_CMDTARGET t,
00056 int timeout);
00057
00058 CHIPCARD_API
00059 LC_CLIENT *LC_BaseClient_new(const char *ioTypeName,
00060 const char *programName,
00061 const char *programVersion);
00062
00063 CHIPCARD_API
00064 GWEN_DB_NODE *LC_Client_GetConfig(const LC_CLIENT *cl);
00065
00066 CHIPCARD_API
00067 int LC_Client_HandleNotification(LC_CLIENT *cl, const LC_NOTIFICATION *n);
00068
00069 CHIPCARD_API
00070 LC_CLIENT_INIT_FN LC_Client_SetInitFn(LC_CLIENT *cl, LC_CLIENT_INIT_FN fn);
00071
00072 CHIPCARD_API
00073 LC_CLIENT_FINI_FN LC_Client_SetFiniFn(LC_CLIENT *cl, LC_CLIENT_FINI_FN fn);
00074
00075 CHIPCARD_API
00076 LC_CLIENT_SETNOTIFY_FN
00077 LC_Client_SetSetNotifyFn(LC_CLIENT *cl, LC_CLIENT_SETNOTIFY_FN fn);
00078
00079 CHIPCARD_API
00080 LC_CLIENT_START_FN LC_Client_SetStartFn(LC_CLIENT *cl, LC_CLIENT_START_FN fn);
00081
00082 CHIPCARD_API
00083 LC_CLIENT_STOP_FN LC_Client_SetStopFn(LC_CLIENT *cl, LC_CLIENT_STOP_FN fn);
00084
00085 CHIPCARD_API
00086 LC_CLIENT_GETNEXTCARD_FN
00087 LC_Client_SetGetNextCardFn(LC_CLIENT *cl, LC_CLIENT_GETNEXTCARD_FN fn);
00088
00089 CHIPCARD_API
00090 LC_CLIENT_RELEASECARD_FN
00091 LC_Client_SetReleaseCardFn(LC_CLIENT *cl, LC_CLIENT_RELEASECARD_FN fn);
00092
00093 CHIPCARD_API
00094 LC_CLIENT_EXECAPDU_FN
00095 LC_Client_SetExecApduFn(LC_CLIENT *cl, LC_CLIENT_EXECAPDU_FN fn);
00096
00097
00099
00100
00101 #endif
00102
00103
00104