00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __UT_Fifo__
00023 #define __UT_Fifo__
00024
00025 #include "UT_API.h"
00026 #include "UT_String.h"
00027
00028
00029 class UT_Fifo;
00030
00031 typedef void (*UT_FifoCallback)(const char *a, int len, void *data);
00032 typedef UT_Fifo *(*UT_FifoCreator)(UT_FifoCallback func, void *data);
00033 typedef UT_Fifo *(*UT_NetFifoCreator)(UT_String,int,UT_FifoCallback func,void *data);
00034
00035 class UT_API UT_Fifo
00036 {
00037
00038 public:
00039
00040 UT_Fifo(UT_FifoCallback func, void *data);
00041 UT_Fifo(UT_String address,int port, UT_FifoCallback func, void *data);
00042 virtual ~UT_Fifo();
00043
00044 virtual int open(const char *name);
00045 virtual int open();
00046
00047 virtual void connect();
00048
00049 virtual void close();
00050
00051 virtual int isValid();
00052 };
00053
00054
00055
00056
00057
00058 UT_API extern void UTsetFifoCreator(UT_FifoCreator func);
00059 UT_API extern UT_Fifo * UTgetNewFifo(UT_FifoCallback func, void *data);
00060
00061 UT_API extern void UTsetNetFifoCreator(UT_NetFifoCreator func);
00062 UT_API extern UT_Fifo * UTgetNewNetFifo(UT_String address, int port,
00063 UT_FifoCallback func, void *data);
00064
00065 #endif
00066