00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _MW_ST_LIST_H
00022 #define _MW_ST_LIST_H
00023
00024
00025 #include <glib.h>
00026 #include <glib/glist.h>
00027 #include "mw_common.h"
00028
00029
00030 #define ST_LIST_MAJOR 3
00031 #define ST_LIST_MINOR 1
00032 #define ST_LIST_MICRO 3
00033
00034
00035 enum mwSametimeGroupType {
00036 mwSametimeGroup_NORMAL = 1,
00037 mwSametimeGroup_DYNAMIC = 2,
00038 mwSametimeGroup_UNKNOWN = 0,
00039 };
00040
00041
00042 enum mwSametimeUserType {
00043 mwSametimeUser_NORMAL = 1,
00044 mwSametimeUser_EXTERNAL = 2,
00045 mwSametimeUser_UNKNOWN = 0,
00046 };
00047
00048
00052 struct mwSametimeList;
00053
00054
00058 struct mwSametimeGroup;
00059
00060
00064 struct mwSametimeUser;
00065
00066
00068 struct mwSametimeList *mwSametimeList_new();
00069
00070
00072 void mwSametimeList_free(struct mwSametimeList *l);
00073
00074
00078 void mwSametimeList_get(struct mwGetBuffer *b, struct mwSametimeList *l);
00079
00080
00084 void mwSametimeList_put(struct mwPutBuffer *b, struct mwSametimeList *l);
00085
00086
00088 struct mwSametimeList *mwSametimeList_load(const char *str);
00089
00090
00092 char *mwSametimeList_store(struct mwSametimeList *l);
00093
00094
00095 void mwSametimeList_setMajor(struct mwSametimeList *l, guint v);
00096
00097
00098 guint mwSametimeList_getMajor(struct mwSametimeList *l);
00099
00100
00101 void mwSametimeList_setMinor(struct mwSametimeList *l, guint v);
00102
00103
00104 guint mwSametimeList_getMinor(struct mwSametimeList *l);
00105
00106
00107 void mwSametimeList_setMicro(struct mwSametimeList *l, guint v);
00108
00109
00110 guint mwSametimeList_getMicro(struct mwSametimeList *l);
00111
00112
00114 GList *mwSametimeList_getGroups(struct mwSametimeList *l);
00115
00116
00117 struct mwSametimeGroup *
00118 mwSametimeList_findGroup(struct mwSametimeList *l,
00119 const char *name);
00120
00121
00123 struct mwSametimeGroup *
00124 mwSametimeGroup_new(struct mwSametimeList *l,
00125 enum mwSametimeGroupType type,
00126 const char *name);
00127
00128
00131 void mwSametimeGroup_free(struct mwSametimeGroup *g);
00132
00133
00134 enum mwSametimeGroupType mwSametimeGroup_getType(struct mwSametimeGroup *g);
00135
00136
00137 const char *mwSametimeGroup_getName(struct mwSametimeGroup *g);
00138
00139
00140 void mwSametimeGroup_setAlias(struct mwSametimeGroup *g,
00141 const char *alias);
00142
00143
00144 const char *mwSametimeGroup_getAlias(struct mwSametimeGroup *g);
00145
00146
00147 void mwSametimeGroup_setOpen(struct mwSametimeGroup *g, gboolean open);
00148
00149
00150 gboolean mwSametimeGroup_isOpen(struct mwSametimeGroup *g);
00151
00152
00153 struct mwSametimeList *mwSametimeGroup_getList(struct mwSametimeGroup *g);
00154
00155
00157 GList *mwSametimeGroup_getUsers(struct mwSametimeGroup *g);
00158
00159
00160 struct mwSametimeUser *
00161 mwSametimeGroup_findUser(struct mwSametimeGroup *g,
00162 struct mwIdBlock *user);
00163
00164
00166 struct mwSametimeUser *
00167 mwSametimeUser_new(struct mwSametimeGroup *g,
00168 enum mwSametimeUserType type,
00169 struct mwIdBlock *user);
00170
00171
00173 void mwSametimeUser_free(struct mwSametimeUser *u);
00174
00175
00176 struct mwSametimeGroup *mwSametimeUser_getGroup(struct mwSametimeUser *u);
00177
00178
00179 enum mwSametimeUserType mwSametimeUser_getType(struct mwSametimeUser *u);
00180
00181
00182 const char *mwSametimeUser_getUser(struct mwSametimeUser *u);
00183
00184
00185 const char *mwSametimeUser_getCommunity(struct mwSametimeUser *u);
00186
00187
00188 void mwSametimeUser_setShortName(struct mwSametimeUser *u, const char *name);
00189
00190
00191 const char *mwSametimeUser_getShortName(struct mwSametimeUser *u);
00192
00193
00194 void mwSametimeUser_setAlias(struct mwSametimeUser *u, const char *alias);
00195
00196
00197 const char *mwSametimeUser_getAlias(struct mwSametimeUser *u);
00198
00199
00200 #endif