diff options
Diffstat (limited to '')
| -rw-r--r-- | src/client.cpp | 1 | ||||
| -rw-r--r-- | src/file.cpp | 4 | ||||
| -rw-r--r-- | src/old/xmldocument.cpp (renamed from src/xmldocument.cpp) | 0 | ||||
| -rw-r--r-- | src/old/xmldocument.h (renamed from src/xmldocument.h) | 0 | ||||
| -rw-r--r-- | src/old/xmlnode.cpp (renamed from src/xmlnode.cpp) | 0 | ||||
| -rw-r--r-- | src/old/xmlnode.h (renamed from src/xmlnode.h) | 0 | ||||
| -rw-r--r-- | src/old/xmlreader.cpp (renamed from src/xmlreader.cpp) | 0 | ||||
| -rw-r--r-- | src/old/xmlreader.h (renamed from src/xmlreader.h) | 0 | ||||
| -rw-r--r-- | src/old/xmlwriter.cpp (renamed from src/xmlwriter.cpp) | 0 | ||||
| -rw-r--r-- | src/old/xmlwriter.h (renamed from src/xmlwriter.h) | 0 | ||||
| -rw-r--r-- | src/server.cpp | 7 | ||||
| -rw-r--r-- | src/server.h | 9 | ||||
| -rw-r--r-- | src/serversocket.cpp | 5 | ||||
| -rw-r--r-- | src/serversocket.h | 1 |
14 files changed, 22 insertions, 5 deletions
diff --git a/src/client.cpp b/src/client.cpp index a048ca3..a33cdc3 100644 --- a/src/client.cpp +++ b/src/client.cpp | |||
| @@ -7,3 +7,4 @@ Bu::Client::Client() | |||
| 7 | Bu::Client::~Client() | 7 | Bu::Client::~Client() |
| 8 | { | 8 | { |
| 9 | } | 9 | } |
| 10 | |||
diff --git a/src/file.cpp b/src/file.cpp index 14b6e54..2965afa 100644 --- a/src/file.cpp +++ b/src/file.cpp | |||
| @@ -48,8 +48,8 @@ size_t Bu::File::read( void *pBuf, size_t nBytes ) | |||
| 48 | 48 | ||
| 49 | int nAmnt = fread( pBuf, 1, nBytes, fh ); | 49 | int nAmnt = fread( pBuf, 1, nBytes, fh ); |
| 50 | 50 | ||
| 51 | if( nAmnt == 0 ) | 51 | //if( nAmnt == 0 ) |
| 52 | throw FileException("End of file."); | 52 | // throw FileException("End of file."); |
| 53 | 53 | ||
| 54 | return nAmnt; | 54 | return nAmnt; |
| 55 | } | 55 | } |
diff --git a/src/xmldocument.cpp b/src/old/xmldocument.cpp index 95b9788..95b9788 100644 --- a/src/xmldocument.cpp +++ b/src/old/xmldocument.cpp | |||
diff --git a/src/xmldocument.h b/src/old/xmldocument.h index e0c36eb..e0c36eb 100644 --- a/src/xmldocument.h +++ b/src/old/xmldocument.h | |||
diff --git a/src/xmlnode.cpp b/src/old/xmlnode.cpp index 96d5850..96d5850 100644 --- a/src/xmlnode.cpp +++ b/src/old/xmlnode.cpp | |||
diff --git a/src/xmlnode.h b/src/old/xmlnode.h index c895cd8..c895cd8 100644 --- a/src/xmlnode.h +++ b/src/old/xmlnode.h | |||
diff --git a/src/xmlreader.cpp b/src/old/xmlreader.cpp index 38cad5f..38cad5f 100644 --- a/src/xmlreader.cpp +++ b/src/old/xmlreader.cpp | |||
diff --git a/src/xmlreader.h b/src/old/xmlreader.h index 7c85ddb..7c85ddb 100644 --- a/src/xmlreader.h +++ b/src/old/xmlreader.h | |||
diff --git a/src/xmlwriter.cpp b/src/old/xmlwriter.cpp index 7dc6ca9..7dc6ca9 100644 --- a/src/xmlwriter.cpp +++ b/src/old/xmlwriter.cpp | |||
diff --git a/src/xmlwriter.h b/src/old/xmlwriter.h index 7e3c876..7e3c876 100644 --- a/src/xmlwriter.h +++ b/src/old/xmlwriter.h | |||
diff --git a/src/server.cpp b/src/server.cpp index f93238c..abf4c5b 100644 --- a/src/server.cpp +++ b/src/server.cpp | |||
| @@ -53,7 +53,8 @@ void Bu::Server::scan() | |||
| 53 | { | 53 | { |
| 54 | if( hServers.has( j ) ) | 54 | if( hServers.has( j ) ) |
| 55 | { | 55 | { |
| 56 | addClient( hServers.get( j )->accept() ); | 56 | ServerSocket *pSrv = hServers.get( j ); |
| 57 | addClient( pSrv->accept(), pSrv->getPort() ); | ||
| 57 | } | 58 | } |
| 58 | else | 59 | else |
| 59 | { | 60 | { |
| @@ -63,11 +64,13 @@ void Bu::Server::scan() | |||
| 63 | } | 64 | } |
| 64 | } | 65 | } |
| 65 | 66 | ||
| 66 | void Bu::Server::addClient( int nSocket ) | 67 | void Bu::Server::addClient( int nSocket, int nPort ) |
| 67 | { | 68 | { |
| 68 | FD_SET( nSocket, &fdActive ); | 69 | FD_SET( nSocket, &fdActive ); |
| 69 | 70 | ||
| 70 | Client *c = new Client(); | 71 | Client *c = new Client(); |
| 71 | hClients.insert( nSocket, c ); | 72 | hClients.insert( nSocket, c ); |
| 73 | |||
| 74 | onNewConnection( c, nPort ); | ||
| 72 | } | 75 | } |
| 73 | 76 | ||
diff --git a/src/server.h b/src/server.h index 9f4f459..942eb32 100644 --- a/src/server.h +++ b/src/server.h | |||
| @@ -22,6 +22,10 @@ namespace Bu | |||
| 22 | * to the timeout set by setTimeout before returning if there is no data | 22 | * to the timeout set by setTimeout before returning if there is no data |
| 23 | * pending. scan should probably be called in some sort of tight | 23 | * pending. scan should probably be called in some sort of tight |
| 24 | * loop, possibly in it's own thread, or in the main control loop. | 24 | * loop, possibly in it's own thread, or in the main control loop. |
| 25 | * | ||
| 26 | * In order to use a Server you must subclass it and implement the pure | ||
| 27 | * virtual functions. These allow you to receive notification of events | ||
| 28 | * happening within the server itself, and actually makes it useful. | ||
| 25 | */ | 29 | */ |
| 26 | class Server | 30 | class Server |
| 27 | { | 31 | { |
| @@ -35,7 +39,10 @@ namespace Bu | |||
| 35 | void scan(); | 39 | void scan(); |
| 36 | void setTimeout( int nTimeoutSec, int nTimeoutUSec=0 ); | 40 | void setTimeout( int nTimeoutSec, int nTimeoutUSec=0 ); |
| 37 | 41 | ||
| 38 | void addClient( int nSocket ); | 42 | void addClient( int nSocket, int nPort ); |
| 43 | |||
| 44 | virtual void onNewConnection( Client *pClient, int nPort )=0; | ||
| 45 | virtual void onClosedConnection( Client *pClient )=0; | ||
| 39 | 46 | ||
| 40 | private: | 47 | private: |
| 41 | int nTimeoutSec; | 48 | int nTimeoutSec; |
diff --git a/src/serversocket.cpp b/src/serversocket.cpp index 9c8f743..1424630 100644 --- a/src/serversocket.cpp +++ b/src/serversocket.cpp | |||
| @@ -151,3 +151,8 @@ int Bu::ServerSocket::accept( int nTimeoutSec, int nTimeoutUSec ) | |||
| 151 | return -1; | 151 | return -1; |
| 152 | } | 152 | } |
| 153 | 153 | ||
| 154 | int Bu::ServerSocket::getPort() | ||
| 155 | { | ||
| 156 | return nPort; | ||
| 157 | } | ||
| 158 | |||
diff --git a/src/serversocket.h b/src/serversocket.h index d2601e4..cb86078 100644 --- a/src/serversocket.h +++ b/src/serversocket.h | |||
| @@ -25,6 +25,7 @@ namespace Bu | |||
| 25 | 25 | ||
| 26 | int accept( int nTimeoutSec=0, int nTimeoutUSec=0 ); | 26 | int accept( int nTimeoutSec=0, int nTimeoutUSec=0 ); |
| 27 | int getSocket(); | 27 | int getSocket(); |
| 28 | int getPort(); | ||
| 28 | 29 | ||
| 29 | private: | 30 | private: |
| 30 | void startServer( struct sockaddr_in &name, int nPoolSize ); | 31 | void startServer( struct sockaddr_in &name, int nPoolSize ); |
