00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _FRDI_DUMMY_USER_H
00020 #define _FRDI_DUMMY_USER_H
00021
00022 #include "../shared/frdi.h"
00023
00024
00025 #define FRDI_USER_GAME_STATUS_STARTED 1
00026 #define FRDI_USER_GAME_STATUS_COMPLETE 2
00027
00028
00029 struct frdi__user_client
00030 {
00031 frdi_connection *connection;
00032 frdi_dict *games;
00033 char *description;
00034 };
00035
00036 typedef struct frdi__user_client frdi_user_client;
00037
00038
00039 struct frdi__user_app
00040 {
00041 frdi_user_client *client_connection;
00042 frdi_app *self;
00043 };
00044
00045 typedef struct frdi__user_app frdi_user_app;
00046
00047
00048 struct frdi__user_game
00049 {
00050 frdi_user_client *client;
00051 char *game_id;
00052 int user_num;
00053 int size;
00054 frdi_game_modulo *modulo;
00055 frdi_game_output *output;
00056 int status;
00057 };
00058
00059 typedef struct frdi__user_game frdi_user_game;
00060
00061
00062
00063
00064
00065
00066
00067
00070 frdi_user_app *frdiUserAppNew(frdi_app *app);
00071
00074 int frdiUserAppRun(frdi_user_app *self);
00075
00078 void frdiUserAppFree(frdi_user_app *self);
00079
00082 char *frdiUserAppDisplay(frdi_user_app *self);
00083
00086 void frdiUserPV(frdi_user_app *self, char *str);
00087
00090 void frdiUserPVF(frdi_user_app *self, char *format, void *arg);
00091
00092
00093
00094
00095
00096
00097
00100 frdi_connection *frdiUserClientConnectionNew(
00101 frdi_user_app *self,
00102 frdi_application *remote);
00103
00106 void *frdiUserClientConnectionRecieve(void *arg);
00107
00110 void frdiUserConnectionClose(frdi_connection *connection);
00111
00112
00113
00114
00115
00116
00117
00118
00119
00122 frdi_user_client *frdiUserClientInitialise(
00123 frdi_user_app *self,
00124 frdi_connection *connection);
00125
00128 void frdiUserClientFinalise(
00129 frdi_user_app *self,
00130 frdi_user_client *client);
00131
00134 void frdiUserClientRecieve(
00135 frdi_user_app *self,
00136 frdi_connection *connection,
00137 frdi_message *message);
00138
00141 void frdiUserClientMessageSend(
00142 frdi_user_app *self,
00143 frdi_user_client *client,
00144 frdi_message *message);
00145
00148 char *frdiUserClientDisplay(frdi_user_app *self, frdi_user_client *client);
00149
00150
00151
00152
00153
00154
00155
00158 void frdiUserDoStuff(frdi_user_app *self);
00159
00162 void *frdiUserClientMessageRecieve(
00163 frdi_user_app *self,
00164 frdi_user_client *client,
00165 frdi_message *message);
00166
00169 void frdiUserClientMsU(
00170 frdi_user_app *self,
00171 frdi_user_client *client,
00172 frdi_message *old_message);
00173
00174
00175
00176
00177
00178
00179
00182 void frdiUserGameSendClient(
00183 frdi_user_app *self,
00184 frdi_user_game *game,
00185 char *str);
00186
00189 void frdiUserClientMrD(
00190 frdi_user_app *self,
00191 frdi_user_client *client,
00192 frdi_message *message);
00193
00196 void frdiUserClientMrF(
00197 frdi_user_app *self,
00198 frdi_user_client *client,
00199 frdi_message *message);
00200
00203 void frdiUserClientMrG(
00204 frdi_user_app *self,
00205 frdi_user_client *client,
00206 frdi_message *message);
00207
00210 void frdiUserClientMrK(
00211 frdi_user_app *self,
00212 frdi_user_client *client,
00213 frdi_message *message);
00214
00217 void frdiUserClientMrL(
00218 frdi_user_app *self,
00219 frdi_user_client *client,
00220 frdi_message *message);
00221
00224 void frdiUserClientMrR(
00225 frdi_user_app *self,
00226 frdi_user_client *client,
00227 frdi_message *message);
00228
00231 void frdiUserClientMrU(
00232 frdi_user_app *self,
00233 frdi_user_client *client,
00234 frdi_message *message);
00235
00238 void frdiUserClientMrE(
00239 frdi_user_app *self,
00240 frdi_user_client *client,
00241 frdi_message *message,
00242 char c);
00243
00244
00245
00246
00247
00248
00249
00250
00253 void frdiUserGameReceiveClient(frdi_user_app *self, frdi_user_game *game, char *str);
00254
00257 frdi_user_game *frdiUserGameNew(frdi_user_app *self, char *game_id);
00258
00261 void frdiUserGameLog(frdi_user_app *self, frdi_user_game *game, char *str);
00262
00265 void frdiUserGameFinish(frdi_user_app *self, frdi_user_game *game);
00266
00269 char *frdiUserGameDescribe(frdi_user_app *self, frdi_user_game *game);
00270
00273 char *frdiUserGameReport(frdi_user_app *self, frdi_user_game *game);
00274
00275
00276 #endif
00277
00278