// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // // This library 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 // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // // File : SALOME_Ports.idl // Author : Eric Fayolle, EDF #ifndef _CALCIUM_PORTS_IDL_ #define _CALCIUM_PORTS_IDL_ #include "SALOME_Ports.idl" module Ports { module Calcium_Ports { const long UNLIMITED_STORAGE_LEVEL = -70; enum DependencyType { UNDEFINED_DEPENDENCY, TIME_DEPENDENCY, ITERATION_DEPENDENCY }; enum DateCalSchem { TI_SCHEM, TF_SCHEM , ALPHA_SCHEM}; enum InterpolationSchem { L0_SCHEM, L1_SCHEM }; enum ExtrapolationSchem { UNDEFINED_EXTRA_SCHEM, E0_SCHEM, E1_SCHEM}; // enum DisconnectDirective {UNDEFINED_DIRECTIVE,CONTINUE,STOP}; typedef boolean DisconnectDirective; const DisconnectDirective stop = FALSE; const DisconnectDirective cont = TRUE; interface Calcium_Port : Ports::Data_Port, Ports::PortProperties { void disconnect(in DisconnectDirective mode); }; typedef sequence seq_long; typedef sequence seq_long_long; typedef sequence< @CALCIUM_IDL_INT_F77@ > seq_integer; typedef sequence seq_float; typedef sequence seq_double; typedef sequence seq_string; typedef sequence seq_boolean; typedef seq_float seq_complex; //Fortran int size conforming port interface Calcium_Integer_Port : Calcium_Port { void put (in seq_integer data, in double time, in long tag); }; interface Calcium_Intc_Port : Calcium_Port { void put (in seq_long data, in double time, in long tag); }; interface Calcium_Long_Port : Calcium_Port { void put (in seq_long_long data, in double time, in long tag); }; interface Calcium_Real_Port : Calcium_Port { void put (in seq_float data, in double time, in long tag); }; interface Calcium_Double_Port : Calcium_Port { void put (in seq_double data, in double time, in long tag); }; interface Calcium_String_Port : Calcium_Port { void put (in seq_string data, in double time, in long tag); }; interface Calcium_Logical_Port : Calcium_Port { void put (in seq_boolean data, in double time, in long tag); }; interface Calcium_Complex_Port : Calcium_Port { void put (in seq_complex data, in double time, in long tag); }; }; }; #endif