1 //=============================================================================
2 // File : MEDMEM_Field_i.hxx
5 // Copyright : EDF 2002
6 // $Header: /export/home/PAL/MED_SRC/src/MEDMEM_I/MEDMEM_Field_i.hxx
7 //=============================================================================
10 #ifndef MED_FIELD_I_HXX_
11 #define MED_FIELD_I_HXX_
17 #include "Utils_CorbaException.hxx"
18 #include <SALOMEconfig.h>
20 # include "Utils_ORB_INIT.hxx"
21 # include "Utils_SINGLETON.hxx"
23 #include CORBA_SERVER_HEADER(MED)
24 #include CORBA_SERVER_HEADER(SALOMEDS)
25 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
27 #include "MEDMEM_Support_i.hxx"
29 #include "MEDMEM_convert.hxx"
31 #include "MEDMEM_Support.hxx"
32 #include "MEDMEM_Field.hxx"
35 class FIELD_i: public virtual POA_SALOME_MED::FIELD,
36 public PortableServer::RefCountServantBase
39 static map < int, ::MEDMEM::FIELD_ * > fieldMap ;
41 static int fieldIndex ;
44 // C++ object containing values and Constructor
45 // are protected because it is not supposed to be instancied
47 ::MEDMEM::FIELD_ * const _fieldTptr;
48 const int _corbaIndex;
51 FIELD_i(MEDMEM::FIELD_ * const field, bool ownCppPtr);
55 // Associated internal methods
58 char * getName() throw (SALOME::SALOME_Exception);
59 char * getDescription() throw (SALOME::SALOME_Exception);
60 SALOME_MED::SUPPORT_ptr getSupport() throw (SALOME::SALOME_Exception);
61 CORBA::Long getNumberOfComponents()
62 throw (SALOME::SALOME_Exception);
63 char * getComponentName(CORBA::Long i)
64 throw (SALOME::SALOME_Exception);
65 char * getComponentUnit(CORBA::Long i)
66 throw (SALOME::SALOME_Exception);
67 char * getComponentDescription(CORBA::Long i)
68 throw (SALOME::SALOME_Exception);
69 CORBA::Long getIterationNumber()
70 throw (SALOME::SALOME_Exception);
71 CORBA::Long getOrderNumber() throw (SALOME::SALOME_Exception);
72 CORBA::Double getTime() throw (SALOME::SALOME_Exception);
73 CORBA::Long getCorbaIndex() throw (SALOME::SALOME_Exception);
75 SALOME_MED::string_array * getComponentsNames() throw (SALOME::SALOME_Exception);
76 SALOME_MED::string_array * getComponentsUnits() throw (SALOME::SALOME_Exception);
77 SALOME_MED::string_array * getComponentsDescriptions() throw (SALOME::SALOME_Exception);
78 void addInStudy(SALOMEDS::Study_ptr myStudy,
79 SALOME_MED::FIELD_ptr myIor)
80 throw (SALOME::SALOME_Exception,
81 SALOMEDS::StudyBuilder::LockProtection);
83 CORBA::Long addDriver (SALOME_MED::medDriverTypes driverType,
84 const char* fileName, const char* fieldName)
85 throw (SALOME::SALOME_Exception);
86 void rmDriver (CORBA::Long i) throw (SALOME::SALOME_Exception);
87 void read (CORBA::Long i) throw (SALOME::SALOME_Exception);
88 void write (CORBA::Long i, const char* driverFieldName)
89 throw (SALOME::SALOME_Exception);
92 MEDMEM::FIELD_ * constructConstField() const;
97 //using namespace MEDMEM;
99 #endif /* MED_FIELD_I_HXX_ */