Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

outNetSock.h

00001 
00006 #include "netManager.h"
00007 #include "Packet.h"
00008 #include "LoginPacket.h"
00009 #include "JoystPacket.h"
00010 #include "HBeatPacket.h"
00011 
00012 #define OUTDATASIZE 99
00013 
00014 #ifndef OUTNETSOCK_H
00015 #define OUTNETSOCK_H
00016 
00017 #include <pthread.h>
00018 #include "screenManager.h"
00019 #include "sysLog.h"
00020 
00021 class OutNetSock {
00022         public:
00026         enum Status {
00028             OPEN = 1,
00030             CLOSED = 0,
00032             ERROR = -1
00033         };
00037                 static void sendPacket();
00038                 
00043         int getWritePtr();
00044                 
00049         int incWritePtr();
00050                 
00055         int getReadPtr();
00056                 
00061         int incReadPtr();
00062                 
00068         int openOutNet(struct sockaddr_in address);
00069 
00074                 int closeOutNet();
00075 
00080                 void setStatus(Status newStatus);
00081                 
00086         Status getStatus();
00087                 
00092         static OutNetSock * theInstance();
00093                 
00098         void writeOutData(LoginPacket *packet);
00099 
00104                 inline int getOutSock(){return outSock;}
00105 
00110         inline Packet * getOutFile(){return outData[readPtr];}
00115         inline Packet * getWOutFile(){return outData[writePtr];}
00116 
00121         void writeLoginOutData(LoginPacket *packet);
00122         
00127         void writeJoystOutData(JoystPacket *packet);
00128 
00133         void writeHBeatOutData(HBeatPacket *packet);
00134         int sem_V();
00135         int sem_P();
00136 
00137         protected:
00141         OutNetSock();
00142         
00146                 ~OutNetSock();
00147         
00148 
00149         private:
00151                 ScreenManager * screenManager;
00153                 SysLog * systemLogger;
00155                 int outSock;
00157                 Packet *outData[OUTDATASIZE];
00159                 int readPtr;
00161                 int writePtr;
00163                 static Status status;
00165                 pthread_t outThread;
00167         int outsv;
00168 };
00169 
00170 #endif //OUTNETSOCK_H

Generated on Sat Mar 26 00:07:04 2005 for CS498EmbeddedSystemsProgramming by doxygen 1.3.6