//////////////////////////////////////////////////////////////////////////// // ---------------------------------------------------------------------- // // Copyright (C) 2006 - 2008 FRESCOR consortium partners: // // // // Universidad de Cantabria, SPAIN // // University of York, UK // // Scuola Superiore Sant'Anna, ITALY // // Kaiserslautern University, GERMANY // // Univ. Politécnica Valencia, SPAIN // // Czech Technical University in Prague, CZECH REPUBLIC // // ENEA SWEDEN // // Thales Communication S.A. FRANCE // // Visual Tools S.A. SPAIN // // Rapita Systems Ltd UK // // Evidence ITALY // // // // See http://www.frescor.org for a link to partners' websites // // // // FRESCOR project (FP6/2005/IST/5-034026) is funded // // in part by the European Union Sixth Framework Programme // // The European Union is not liable of any use that may be // // made of this code. // // // // // // based on previous work (FSF) done in the FIRST project // // // // Copyright (C) 2005 Mälardalen University, SWEDEN // // Scuola Superiore S.Anna, ITALY // // Universidad de Cantabria, SPAIN // // University of York, UK // // // // FSF API web pages: http:marte.unican.es/fsf/docs // // http:shark.sssup.it/contrib/first/docs/ // // // // This file is part of FORB (Frescor Object Request Broker) // // // // FORB is free software; you can redistribute it and/or modify it // // under terms of the GNU General Public License as published by the // // Free Software Foundation; either version 2, or (at your option) any // // later version. FORB 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 FORB; see file // // COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, // // Cambridge, MA 02139, USA. // // // // As a special exception, including FORB header files in a file, // // instantiating FORB generics or templates, or linking other files // // with FORB objects to produce an executable application, does not // // by itself cause the resulting executable application to be covered // // by the GNU General Public License. This exception does not // // however invalidate any other reasons why the executable file might be // // covered by the GNU Public License. // //////////////////////////////////////////////////////////////////////////// /** * @file fra.idl * @author Michal Sojka * @date Thu Nov 13 14:05:39 2008 * * @brief FORB interface to resource allocator * * */ #ifndef _FRA_IDL #define _FRA_IDL #include "../contract/fres_contract_idl.idl" module fres { /** * Interface to the allocator * */ interface resource_allocator { /** * Creates or changes VRESes. * * This method is called after the contracts are * negotiated with the resource manager. The manager * together with the contract broker ensure that the * state after applying the changes specified by @a * schedulable_contracts parameter is schedulable. It * is up to the allocator to apply the changes in such * way that schedulability is maintained during the * change. The changes are received in the same order * as returned by the manager, so if the manager * already prepares the order of aplying changes, the * allocator can use it. * * @param schedulable_contracts Contracts for VRESes * to be created or (if they already exist) * changed. * * @return Zero on success, non-zero error number in * case of error. */ long change_vreses(in contract::ptr_seq schedulable_contracts); /** * Cancel VRESes given by their IDs. * * @param ids * * @return Zero on success, non-zero error code on error. */ long cancel_vreses(in contract::id_seq ids); }; }; #endif