/*
 * Copyright (C) 2007-2023 Xagasoft, All rights reserved.
 *
 * This file is part of the libbu++ library and is released under the
 * terms of the license contained in the file LICENSE.
 */

#ifndef BU_SERVER_INTERFACE_H
#define BU_SERVER_INTERFACE_H

#include <stdint.h>

namespace Bu
{
    class Server;

    class ServerInterface
    {
    friend class Bu::Server;
    private:
        ServerInterface( Bu::Server &rSrv );
    public:
        ServerInterface( const Bu::ServerInterface &rSrc );
        ~ServerInterface();

        /**
         * Clients will call this when they have filled the output buffer and
         * are ready for that data to be sent. This only needs to be called
         * when async output is generated, that is when output is generated not
         * in the processInput method.
         */
        void outputReady( int iClientId );

    private:
        Bu::Server &rSrv;
    };
}

#endif

