// $Header: /cvs/gled-1.2/GledCore/Glasses/ZFireKing.cxx,v 1.3 2005/03/11 17:50:15 matevz Exp $

// Copyright (C) 1999-2005, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.

//__________________________________________________________________________
// ZFireKing
//
//

#include "ZFireKing.h"
#include <Glasses/ZQueen.h>
#include "ZFireKing.c7"

ClassImp(ZFireKing)

/**************************************************************************/

 void ZFireKing::_init()
{
  // !!!! Set all links to 0 !!!!
}

/**************************************************************************/

 void ZFireKing::Enthrone(ZQueen* queen)
{
  PARENT_GLASS::Enthrone(queen);
  queen->SetAuthMode(ZQueen::AM_None);
}

/**************************************************************************/
// Mirroring of Queens
/**************************************************************************/

 void ZFireKing::RequestQueenMirroring(ZQueen* queen_to_mirror)
{
  // Entry point for initiation of queen mirroring on user request.
  // Should be directed at FireKing, who performs the task
  // on behalf of Saturn.
  // (would be more proper to have MirrorQueen or MirrorPrincess in fire-space)

  static string _eh("ZFireKing::RequestQueenMirroring ");

  // Should assert queen exists etc ...

  ZKing* boss = queen_to_mirror->GetKing();
  if(boss->GetMinID() > mSaturn->GetKing()->GetMinID()) {
    throw(_eh + "queen should be in a moon object-space");
  }

  auto_ptr<ZMIR> mir(boss->S_reflect_queen(queen_to_mirror, mSaturn->GetSaturnInfo()));
  mir->SetRecipient(mSaturn->GetSaturnInfo());
  mSaturn->PostMIR(mir);

  // assert queen in `above' space and not yet ruling, neither awaiting sceptre.
  // pass control to reflect_queen, which also checks dependencies and
  // generates appropriate beams for the master Saturn.
}

 void ZFireKing::RequestQueenShattering(ZQueen* queen_to_leave)
{
  // Ignore gloriously. Deps first.

  static string _eh("ZFireKing::RequestQueenShattering ");

  ISerr(_eh + "not implemented.");
}

/**************************************************************************/


ROOT page - Home page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.