00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _FRDI_DUMMY_HOST_H
00020 #define _FRDI_DUMMY_HOST_H
00021
00022 #include "../shared/frdi.h"
00023
00024 #define FRDI_HOST_GAME_STATUS_STARTED 1
00025 #define FRDI_HOST_GAME_STATUS_COMPLETE 2
00026
00027
00028 struct frdi__host_server
00029 {
00030 frdi_connection *connection;
00031 frdi_dict *games;
00032 char *description;
00033 };
00034
00035 typedef struct frdi__host_server frdi_host_server;
00036
00037
00038 struct frdi__host_app
00039 {
00040 frdi_host_server *server_connection;
00041 frdi_app *self;
00042 };
00043
00044 typedef struct frdi__host_app frdi_host_app;
00045
00046
00047 struct frdi__host_game
00048 {
00049 frdi_host_server *server;
00050 char *game_id;
00051 frdi_game_output *output;
00052 frdi_game_modulo *modulo;
00053 int size;
00054 int status;
00055 frdi_list *users;
00056 };
00057
00058 typedef struct frdi__host_game frdi_host_game;
00059
00060
00061
00062
00063
00064
00065
00066
00069 frdi_host_app *frdiHostAppNew(frdi_app *app);
00070
00073 int frdiHostAppRun(frdi_host_app *self);
00074
00077 void frdiHostAppFree(frdi_host_app *self);
00078
00081 char *frdiHostAppDisplay(frdi_host_app *self);
00082
00085 void frdiHostPV(frdi_host_app *self, char *str);
00086
00089 void frdiHostPVF(frdi_host_app *self, char *format, void *arg);
00090
00091
00092
00093
00094
00095
00096
00097
00100 frdi_connection *frdiHostServerConnectionNew(
00101 frdi_host_app *self,
00102 frdi_application *remote);
00103
00106 void *frdiHostServerConnectionRecieve(void *arg);
00107
00110 void frdiHostConnectionClose(frdi_connection *connection);
00111
00112
00113
00114
00115
00116
00117
00118
00119
00122 frdi_host_server *frdiHostServerInitialise(
00123 frdi_host_app *self,
00124 frdi_connection *connection);
00125
00128 void frdiHostServerFinalise(
00129 frdi_host_app *self,
00130 frdi_host_server *server);
00131
00134 void frdiHostServerRecieve(
00135 frdi_host_app *self,
00136 frdi_connection *connection,
00137 frdi_message *message);
00138
00141 void frdiHostServerMessageSend(
00142 frdi_host_app *self,
00143 frdi_host_server *server,
00144 frdi_message *message);
00145
00148 char *frdiHostServerDisplay(frdi_host_app *self, frdi_host_server *server);
00149
00150
00151
00152
00153
00154
00155
00158 void frdiHostDoStuff(frdi_host_app *self);
00159
00162 void *frdiHostServerMessageRecieve(
00163 frdi_host_app *self,
00164 frdi_host_server *server,
00165 frdi_message *message);
00166
00169 void frdiHostServerMsU(
00170 frdi_host_app *self,
00171 frdi_host_server *server,
00172 frdi_message *old_message);
00173
00174
00175
00176
00177
00178
00179
00180
00183 void frdiHostGameSendServer(
00184 frdi_host_app *self,
00185 frdi_host_game *game,
00186 char *str);
00187
00190 void frdiHostServerMrD(
00191 frdi_host_app *self,
00192 frdi_host_server *server,
00193 frdi_message *message);
00194
00197 void frdiHostServerMrF(
00198 frdi_host_app *self,
00199 frdi_host_server *server,
00200 frdi_message *message);
00201
00204 void frdiHostServerMrG(
00205 frdi_host_app *self,
00206 frdi_host_server *server,
00207 frdi_message *message);
00208
00211 void frdiHostServerMrK(
00212 frdi_host_app *self,
00213 frdi_host_server *server,
00214 frdi_message *message);
00215
00218 void frdiHostServerMrL(
00219 frdi_host_app *self,
00220 frdi_host_server *server,
00221 frdi_message *message);
00222
00225 void frdiHostServerMrR(
00226 frdi_host_app *self,
00227 frdi_host_server *server,
00228 frdi_message *message);
00229
00232 void frdiHostServerMrU(
00233 frdi_host_app *self,
00234 frdi_host_server *server,
00235 frdi_message *message);
00236
00239 void frdiHostServerMrE(
00240 frdi_host_app *self,
00241 frdi_host_server *server,
00242 frdi_message *message,
00243 char c);
00244
00245
00246
00247
00248
00249
00250
00251
00254 void frdiHostGameReceiveServer(frdi_host_app *self, frdi_host_game *game, char *str);
00255
00258 frdi_host_game *frdiHostGameNew(frdi_host_app *self, char *game_id);
00259
00262 void frdiHostGameLog(frdi_host_app *self, frdi_host_game *game, char *str);
00263
00266 void frdiHostGameFinish(frdi_host_app *self, frdi_host_game *game);
00267
00270 char *frdiHostGameDescribe(frdi_host_app *self, frdi_host_game *game);
00271
00274 char *frdiHostGameReport(frdi_host_app *self, frdi_host_game *game);
00275
00276
00277 #endif
00278
00279