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

viaOutNetSock.h

00001 
00006 #include "viaNetManager.h"
00007 #include "JoystPacket.h"
00008 #include "LoginPacket.h"
00009 #include "HBeatPacket.h"
00010 
00011 #define OUTDATASIZE 99
00012 
00013 #ifndef VIAOUTNETSOCK_H
00014 #define VIAOUTNETSOCK_H
00015 
00016 #include "sysLog.h"
00017 #include <pthread.h>
00018 #include <netinet/in.h>
00019 
00020 class ViaOutNetSock {
00021         public:
00025         enum Status {
00027             OPEN = 1,
00029             CLOSED = 0,
00031             LISTENING = 2,
00033             ERROR = -1
00034         };
00038                 static void sendPacket();
00039                 
00044         int getWritePtr();
00045 
00050                 int incWritePtr();
00051                 
00056         int getReadPtr();
00057                 
00062         int incReadPtr();
00063 
00069                 int openOutNet(struct sockaddr_in address); 
00070 
00075                 int closeOutNet();
00076 
00081                 void setStatus(Status newStatus);
00082 
00087                 Status getStatus();
00088 
00093                 static ViaOutNetSock * theInstance();
00094                 
00099         void writeOutData(Packet *packet);
00100                 
00105         inline Packet * getOutFile(){return outData[readPtr];}
00106         inline Packet * getWOutFile(){return outData[writePtr];}
00107 
00112         void setCliSock(int newSock);
00113 
00118                 inline int getOutSock(){return outSock;}
00119                 
00124         inline int getCliSock(){return cliSock;}
00125                 
00130         inline struct sockaddr_in* getCliAddr(){return &cliAddr;}
00131         void writeLoginOutData(LoginPacket *packet);
00132         void writeJoystOutData(JoystPacket *packet);
00133         void writeHBeatOutData(HBeatPacket *packet);
00134 
00135 
00136         protected:
00140                 ViaOutNetSock();
00141 
00145                 ~ViaOutNetSock();
00146         private:
00148                 SysLog * systemLogger;
00150                 int outSock;
00152                 int cliSock;
00154                 Packet *outData[OUTDATASIZE];
00156                 int readPtr;
00158                 int writePtr;
00160                 static Status status;
00162                 pthread_t outThread;
00164                 struct sockaddr_in cliAddr;
00165         struct sockaddr_in serAddr;
00166 };
00167 
00168 #endif //VIAOUTNETSOCK_H

Generated on Fri Mar 25 23:48:45 2005 for CS498EmbeddedSystemsProgramming by doxygen 1.3.6