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

inNetSock.h

00001 
00007 #include "netManager.h"
00008 #include "Packet.h"
00009 
00010 #define INDATASIZE 10
00011 
00012 #ifndef INNETSOCK_H
00013 #define INNETSOCK_H
00014 
00015 #include <netinet/in.h>
00016 #include <pthread.h>
00017 #include "sysLog.h"
00018 #include "screenManager.h"
00019 #include "Packet.h"
00020 
00021 
00022 class InNetSock {
00023         public:
00027         enum Status {
00029             OPEN,
00031             ERROR,
00033             CLOSED
00034         };
00038                 static void getPacket();        
00039         
00045                 int openInNet(struct sockaddr_in address);
00046 
00051                 int closeInNet();
00052         
00057                 Status getStatus();
00058         
00063                 void setStatus(Status newStatus);
00064 
00069         static InNetSock * theInstance();
00070 
00075                 inline int getInSock() {return inSock;}
00076                 
00082                 Packet * searchForReply(int ID);
00083                 
00088                 void recReply(const Packet &packet);
00089 
00090         protected:
00094         InNetSock();
00095                 
00099         ~InNetSock();
00100 
00105         inline Packet ** getInFile() {return inData;}
00106 
00107         private:
00109                 ScreenManager * screenManager;
00110         
00112                 SysLog * systemLogger;  
00113                 
00115                 int inSock;
00116 
00118                 Packet * inData[INDATASIZE];
00119 
00121                 Status status;
00122 
00124                 pthread_t inThread;
00125         
00126                 int writeSem;
00127 };
00128 
00129 #endif //INNETSOCK_HSD

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