// // This file is part of the Coriolis Project. // Copyright (C) Laboratoire LIP6 - Departement ASIM // Universite Pierre et Marie Curie // // Main contributors : // Christophe Alexandre // Sophie Belloeil // Hugo Clément // Jean-Paul Chaput // Damien Dupuis // Christian Masson // Marek Sroka // // The Coriolis Project 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. // // The Coriolis Project 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 should have received a copy of the GNU General Public License // along with the Coriolis Project; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // // License-Tag // // // Date : 29/01/2004 // Author : Hugo Clément // // Authors-Tag #include "nimbus/NimbusEngine.h" namespace Nimbus { using namespace Hurricane; /* * ******************************************************************** * FrontLine implementation * */ FrontLine::FrontLine () : _rootFences() { } FrontLine::~FrontLine () { } FrontLine* FrontLine::create () { FrontLine* frontline = new FrontLine (); if (!frontline) throw Error("unable to create a frontline"); frontline->_postCreate (); return frontline; } void FrontLine::destroy () { throw Error("Deletion of FrontLine undefined yet"); return; } void FrontLine::_preDestroy () { return; } void FrontLine::_postCreate () { return; } void FrontLine::addRootFence (Fence* fence) { // We may add some sanity checks here // but we don't because FrontLine are created // by an already consistency checked routine _rootFences.push_back (fence); fence->setFrontLine(this); return; } void FrontLine::moveTo (DbU::Unit target) { for ( vector::iterator fit = _rootFences.begin() ; fit != _rootFences.end() ; fit++ ) { (*fit)->_moveTo (target); } return; } } // namespace Nimbus #if 0 Slot* getSlot (const string& name, Nimbus::FrontLine* frontline) { return new StandardSlot(name, frontline); } #endif