00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef CHIPCARD_SERVER_CMD_COMMANDMGR_L_H
00016 #define CHIPCARD_SERVER_CMD_COMMANDMGR_L_H
00017
00018 #include <gwenhywfar/types.h>
00019 #include <gwenhywfar/xml.h>
00020 #include <gwenhywfar/stringlist.h>
00021 #include <gwenhywfar/db.h>
00022 #include <gwenhywfar/buffer.h>
00023 #include <gwenhywfar/msgengine.h>
00024
00025
00026 typedef struct LCCMD_COMMANDMANAGER LCCMD_COMMANDMANAGER;
00027
00028 #include <chipcard2/chipcard2.h>
00029 #include "common/card.h"
00030
00031
00032 LCCMD_COMMANDMANAGER *LCCMD_CommandManager_new();
00033 void LCCMD_CommandManager_free(LCCMD_COMMANDMANAGER *mgr);
00034
00035 int LCCMD_CommandManager_Init(LCCMD_COMMANDMANAGER *mgr, GWEN_DB_NODE *db);
00036 int LCCMD_CommandManager_Fini(LCCMD_COMMANDMANAGER *mgr, GWEN_DB_NODE *db);
00037
00038
00043 void LCCMD_CommandManager_NewCard(LCCMD_COMMANDMANAGER *clm, LCCO_CARD *card);
00044
00049 int LCCMD_CommandManager_SelectCardType(LCCMD_COMMANDMANAGER *mgr,
00050 LCCO_CARD *card,
00051 const char *cardName);
00052
00057 int LCCMD_CommandManager_BuildCommand(LCCMD_COMMANDMANAGER *mgr,
00058 LCCO_CARD *card,
00059 const char *cmdName,
00060 GWEN_DB_NODE *dbCmd,
00061 GWEN_BUFFER *apdu,
00062 const char **target,
00063 GWEN_TYPE_UINT32 *rqid);
00064
00070 int LCCMD_CommandManager_ParseAnswer(LCCMD_COMMANDMANAGER *mgr,
00071 LCCO_CARD *card,
00072 GWEN_TYPE_UINT32 rqid,
00073 GWEN_BUFFER *gbuf,
00074 GWEN_DB_NODE *dbRsp);
00075
00076
00077 #endif
00078