/**********************************************************************
 *
 *   FreeDoko a Doppelkopf-Game
 *    
 *   Copyright (C) 2001-2006  by Diether Knof and Borg Enders
 *
 *   This program is free software; you can redistribute it and/or 
 *   modify it under the terms of the GNU General Public License as 
 *   published by the Free Software Foundation; either version 2 of 
 *   the License, or (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details. 
 *   You can find this license in the file 'gpl.txt'.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 *   MA  02111-1307  USA
 *
 *  Contact:
 *    Diether Knof dknof@gmx.de
 *    Borg Enders  borg@borgsoft.de
 *
 *********************************************************************/

#ifdef USE_NETWORK

#include "constants.h"

#include "network_player.h"

#include "../../network/connection.h"

#include "../../game/game.h"
#include "../../party/rule.h"
#include "../../card/trick.h"

/**
 ** Constructor
 **
 ** @param	-
 **
 ** @return	-
 **
 ** @author	Diether Knof
 **
 ** @version	0.7.2
 **/
NetworkPlayer::NetworkPlayer(Network::Connection& connection) :
Player(Player::NETWORK),
connection_(&connection)
{
  return ;
} // NetworkPlayer::NetworkPlayer()

/**
 ** Destructor
 **
 ** @param	-
 **
 ** @return	-
 **
 ** @author	Diether Knof
 **      
 ** @version	0.7.2
 **/
NetworkPlayer::~NetworkPlayer()
{
  return ;
} // NetworkPlayer::~NetworkPlayer()

/**
 ** clone the player
 **
 ** @param       -
 **
 ** @return      NULL
 **
 ** @author      Diether Knof
 **
 ** @version     0.7.2
 **/
NetworkPlayer*
NetworkPlayer::clone() const
{  
  return NULL;
} // NetworkPlayer* NetworkPlayer::clone() const

/**
 ** -> result
 **
 ** @param	duty_solo	whether the player has to play a solo
 ** 				(default: false)
 **
 ** @return	the reservation
 **
 ** @author	Diether Knof
 **
 ** @version	0.7.2
 **
 ** @todo	all
 **/
Reservation
NetworkPlayer::reservation_get(bool const duty_solo)
{
  (void)duty_solo;

  Reservation reservation;

  // ToDo: all

  return reservation;
} // Reservation NetworkPlayer::reservation_get(bool duty_solo = false)

/**
 ** -> result
 ** taken from the network connection
 **
 ** @param	-
 **
 ** @return	valid card
 **
 ** @author	Diether Knof
 **
 ** @version	0.7.2
 **
 ** @todo	all
 **/
HandCard
NetworkPlayer::card_get()
{
  // ToDo: all

  return this->hand().card(0);
} // HandCard NetworkPlayer::card_get()

/**
 ** -> result
 **
 ** @param	-
 **
 ** @return	announcement of the player
 **
 ** @author	Diether Knof
 **
 ** @version	0.7.2
 **
 ** @todo	check the network connection
 **/
Announcement
NetworkPlayer::announcement_request() const
{
  // ToDo: all

  return ANNOUNCEMENT::NOANNOUNCEMENT;
} // Announcement NetworkPlayer::announcement_request() const

#endif // #ifdef USE_NETWORK
