00001
00002
00003
00004 #ifndef PININFO_H
00005 #define PININFO_H
00006
00073 #ifdef __cplusplus
00074 extern "C" {
00075 #endif
00076
00077 typedef struct LC_PININFO LC_PININFO;
00078
00079 #ifdef __cplusplus
00080 }
00081 #endif
00082
00083 #include <gwenhywfar/db.h>
00084 #include <gwenhywfar/inherit.h>
00085 #include <gwenhywfar/list2.h>
00086 #include <gwenhywfar/types.h>
00087 #include <chipcard3/chipcard3.h>
00088
00089 #ifdef __cplusplus
00090 extern "C" {
00091 #endif
00092
00093 typedef enum {
00094 LC_PinInfo_EncodingUnknown=-1,
00096 LC_PinInfo_EncodingNone=0,
00098 LC_PinInfo_EncodingBin,
00100 LC_PinInfo_EncodingBcd,
00102 LC_PinInfo_EncodingAscii,
00104 LC_PinInfo_EncodingFpin2
00105 } LC_PININFO_ENCODING;
00106
00107 LC_PININFO_ENCODING LC_PinInfo_Encoding_fromString(const char *s);
00108 const char *LC_PinInfo_Encoding_toString(LC_PININFO_ENCODING v);
00109
00110
00111 GWEN_INHERIT_FUNCTION_LIB_DEFS(LC_PININFO, CHIPCARD_API)
00112 GWEN_LIST2_FUNCTION_LIB_DEFS(LC_PININFO, LC_PinInfo, CHIPCARD_API)
00113
00116 CHIPCARD_API void LC_PinInfo_List2_freeAll(LC_PININFO_LIST2 *stl);
00119 CHIPCARD_API LC_PININFO_LIST2 *LC_PinInfo_List2_dup(const LC_PININFO_LIST2 *stl);
00120
00123 CHIPCARD_API LC_PININFO *LC_PinInfo_new();
00126 CHIPCARD_API void LC_PinInfo_free(LC_PININFO *st);
00129 CHIPCARD_API void LC_PinInfo_Attach(LC_PININFO *st);
00132 CHIPCARD_API LC_PININFO *LC_PinInfo_dup(const LC_PININFO*st);
00135 CHIPCARD_API LC_PININFO *LC_PinInfo_fromDb(GWEN_DB_NODE *db);
00138 CHIPCARD_API int LC_PinInfo_toDb(const LC_PININFO*st, GWEN_DB_NODE *db);
00141 CHIPCARD_API int LC_PinInfo_IsModified(const LC_PININFO *st);
00144 CHIPCARD_API void LC_PinInfo_SetModified(LC_PININFO *st, int i);
00145
00146
00150 CHIPCARD_API const char *LC_PinInfo_GetName(const LC_PININFO *el);
00154 CHIPCARD_API void LC_PinInfo_SetName(LC_PININFO *el, const char *d);
00155
00159 CHIPCARD_API GWEN_TYPE_UINT32 LC_PinInfo_GetId(const LC_PININFO *el);
00163 CHIPCARD_API void LC_PinInfo_SetId(LC_PININFO *el, GWEN_TYPE_UINT32 d);
00164
00168 CHIPCARD_API LC_PININFO_ENCODING LC_PinInfo_GetEncoding(const LC_PININFO *el);
00172 CHIPCARD_API void LC_PinInfo_SetEncoding(LC_PININFO *el, LC_PININFO_ENCODING d);
00173
00177 CHIPCARD_API int LC_PinInfo_GetMinLength(const LC_PININFO *el);
00181 CHIPCARD_API void LC_PinInfo_SetMinLength(LC_PININFO *el, int d);
00182
00186 CHIPCARD_API int LC_PinInfo_GetMaxLength(const LC_PININFO *el);
00190 CHIPCARD_API void LC_PinInfo_SetMaxLength(LC_PININFO *el, int d);
00191
00195 CHIPCARD_API int LC_PinInfo_GetAllowChange(const LC_PININFO *el);
00199 CHIPCARD_API void LC_PinInfo_SetAllowChange(LC_PININFO *el, int d);
00200
00204 CHIPCARD_API int LC_PinInfo_GetFiller(const LC_PININFO *el);
00208 CHIPCARD_API void LC_PinInfo_SetFiller(LC_PININFO *el, int d);
00209
00210
00211 #ifdef __cplusplus
00212 }
00213 #endif
00214
00215
00216 #endif