00001
00002
00008 /********************************************************************
00009 Description:
00010 part of the 3Dsia project
00011 created: StonedBones, 31.1.2000
00012
00013 History:
00014 date, name, changes, in funtion
00015 310100 StonedBones created source
00016
00017 ********************************************************************/
00018
00019 #include "main.h"
00020
00021 #include <unistd.h>
00022 #include <pthread.h>
00023
00024 #include "../common/buffer.h"
00025
00026 /*...................................................................
00027 Description: the main function; starts FET, MCT and CCT
00028 Args: int argc: amount of arguments; char** argv: pointer to arguments-string (I think...)
00029 Returns: 0 if no error
00030 Created: StonedBones, 31.1.2000
00031 ToDo:
00032 [Comments:]
00033 Changes:
00034 added pluginloading on startup, xandi, 270200
00035 added globalDatabse thread, xandi, 260300
00036 added Core thread, xandi, 270300
00037 removed globalDatabase thread, xandi, 060400
00038 removed matrixControlThread, xandi, 210400
00039 added matrixThread in order to make the server single-matrix, xandi, 210400
00040
00041 -------------------------------------------------------------------*/
00042
00043 Buffer* matrixBufIn;
00044
00045 int main (int argc, char** argv) {
00046 FETArgs* FETargs;
00047 FETargs = new FETArgs;
00048 CCTArgs* CCTargs;
00049 CCTargs = new CCTArgs;
00050 /*
00051 MCTArgs* MCTargs;
00052 MCTargs = new MCTArgs;
00053 */
00054
00055 matrixBufIn = new Buffer ();
00056
00057 LoadAllPlugins ();
00058
00059 //MCTargs->argc =
00060 CCTargs->argc = FETargs->argc = argc;
00061 //MCTargs->argv =
00062 CCTargs->argv = FETargs->argv = argv;
00063
00064 pthread_t frontEndThread;
00065 pthread_t clientControlThread;
00066 pthread_t matrixThread;
00067 // pthread_t coreThread;
00068
00069 pthread_create (&frontEndThread, NULL, FrontEndThread, FETargs);
00070 pthread_create (&matrixThread, NULL, MatrixThread, NULL);
00071 pthread_create (&clientControlThread, NULL, ClientControlThread, CCTargs);
00072 // pthread_create (&coreThread, NULL, (void*) CoreThread, NULL);
00073
00074 pthread_join (frontEndThread, NULL);
00075 pthread_join (matrixThread, NULL);
00076 pthread_join (clientControlThread, NULL);
00077 // pthread_join (coreThread, NULL);
00078
00079 return 0;
00080 };
00081
00082
00083