00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef GWEN_KEYSPEC_H
00030 #define GWEN_KEYSPEC_H
00031
00032 #include <gwenhywfar/gwenhywfarapi.h>
00033 #include <gwenhywfar/db.h>
00034 #include <gwenhywfar/inherit.h>
00035 #include <gwenhywfar/misc.h>
00036 #include <gwenhywfar/list2.h>
00037 #include <stdio.h>
00038
00039
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043
00044
00045 typedef struct GWEN_KEYSPEC GWEN_KEYSPEC;
00046
00047 GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_KEYSPEC, GWENHYWFAR_API)
00048 GWEN_LIST2_FUNCTION_LIB_DEFS(GWEN_KEYSPEC, GWEN_KeySpec, GWENHYWFAR_API)
00049 void GWEN_KeySpec_List2_freeAll(GWEN_KEYSPEC_LIST2 *ksl);
00050
00051
00052 GWENHYWFAR_API
00053 GWEN_KEYSPEC *GWEN_KeySpec_new();
00054 GWENHYWFAR_API
00055 GWEN_KEYSPEC *GWEN_KeySpec_dup(const GWEN_KEYSPEC *ks);
00056 GWENHYWFAR_API
00057 void GWEN_KeySpec_free(GWEN_KEYSPEC *ks);
00058
00059 GWENHYWFAR_API
00060 const char *GWEN_KeySpec_GetKeyType(const GWEN_KEYSPEC *ks);
00061 GWENHYWFAR_API
00062 void GWEN_KeySpec_SetKeyType(GWEN_KEYSPEC *ks,
00063 const char *s);
00064
00070 GWENHYWFAR_API
00071 int GWEN_KeySpec_GetStatus(const GWEN_KEYSPEC *ks);
00072 GWENHYWFAR_API
00073 void GWEN_KeySpec_SetStatus(GWEN_KEYSPEC *ks, int i);
00074
00075 GWENHYWFAR_API
00076 const char *GWEN_KeySpec_GetKeyName(const GWEN_KEYSPEC *ks);
00077 GWENHYWFAR_API
00078 void GWEN_KeySpec_SetKeyName(GWEN_KEYSPEC *ks,
00079 const char *s);
00080
00081 GWENHYWFAR_API
00082 const char *GWEN_KeySpec_GetOwner(const GWEN_KEYSPEC *ks);
00083 GWENHYWFAR_API
00084 void GWEN_KeySpec_SetOwner(GWEN_KEYSPEC *ks,
00085 const char *s);
00086
00087 GWENHYWFAR_API
00088 unsigned int GWEN_KeySpec_GetNumber(const GWEN_KEYSPEC *ks);
00089 GWENHYWFAR_API
00090 void GWEN_KeySpec_SetNumber(GWEN_KEYSPEC *ks,
00091 unsigned int i);
00092
00093 GWENHYWFAR_API
00094 unsigned int GWEN_KeySpec_GetVersion(const GWEN_KEYSPEC *ks);
00095 GWENHYWFAR_API
00096 void GWEN_KeySpec_SetVersion(GWEN_KEYSPEC *ks,
00097 unsigned int i);
00098
00099
00102 GWENHYWFAR_API
00103 GWEN_KEYSPEC *GWEN_KeySpec_Next(GWEN_KEYSPEC *ks);
00104 GWENHYWFAR_API
00105 const GWEN_KEYSPEC *GWEN_KeySpec_ConstNext(const GWEN_KEYSPEC *ks);
00106
00107 GWENHYWFAR_API
00108 void GWEN_KeySpec_Add(GWEN_KEYSPEC *ks,
00109 GWEN_KEYSPEC **head);
00110 GWENHYWFAR_API
00111 void GWEN_KeySpec_Del(GWEN_KEYSPEC *ks,
00112 GWEN_KEYSPEC **head);
00113
00114 GWENHYWFAR_API
00115 void GWEN_KeySpec_Clear(GWEN_KEYSPEC **head);
00119 GWENHYWFAR_API
00120 void GWEN_KeySpec_Dump(const GWEN_KEYSPEC *ks, FILE *f, unsigned int indent);
00121
00122
00123 int GWEN_KeySpec_ToDb(const GWEN_KEYSPEC *ks, GWEN_DB_NODE *n);
00124 int GWEN_KeySpec_FromDb(GWEN_KEYSPEC *ks, GWEN_DB_NODE *n);
00125
00126
00127 int GWEN_KeySpec_toDb(const GWEN_KEYSPEC *ks, GWEN_DB_NODE *n);
00128 GWEN_KEYSPEC *GWEN_KeySpec_fromDb(GWEN_DB_NODE *n);
00129
00130
00131 #ifdef __cplusplus
00132 }
00133 #endif
00134
00135
00136
00137 #endif
00138
00139