/** \file
 *
 *  Contains the SocketServer class declaration.
 *
 *  Copyright (c) 2007,2008,2009 MBARI
 *  MBARI Proprietary Information.  All Rights Reserved
 */

#ifndef SOCKETSERVER_H_
#define SOCKETSERVER_H_

#include "Socket.h"

/**
 *  Implements a listening Socket server.
 *
 *  \ingroup modules_simulator
 */
class SocketServer : public Socket
{
public:
    SocketServer( int port )
#ifndef __GAZEBO
    throw( SocketException )
#endif
    ;
    SocketServer()
    {}
    virtual ~SocketServer()
    {}
    void accept( SocketServer& )
#ifndef __GAZEBO
    throw( SocketException )
#endif
    ;

    /// accept with timeout
    void accept( SocketServer& newSocket, int timeoutMillis )
#ifndef __GAZEBO
    throw( SocketException )
#endif
    ;
};


#endif /*SOCKETSERVER_H_*/
