Back to index

salome-paravis  6.5.0
PARAVIS_Engine_i.hh
Go to the documentation of this file.
00001 // Copyright (C) 2010-2012  CEA/DEN, EDF R&D
00002 //
00003 // This library is free software; you can redistribute it and/or
00004 // modify it under the terms of the GNU Lesser General Public
00005 // License as published by the Free Software Foundation; either
00006 // version 2.1 of the License.
00007 //
00008 // This library is distributed in the hope that it will be useful,
00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 // Lesser General Public License for more details.
00012 //
00013 // You should have received a copy of the GNU Lesser General Public
00014 // License along with this library; if not, write to the Free Software
00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00016 //
00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00018 //
00019 #ifndef __PARAVIS_ENGINE_I_H__
00020 #define __PARAVIS_ENGINE_I_H__
00021 
00022 // IDL headers
00023 #include "SALOMEconfig.h"
00024 #include CORBA_SERVER_HEADER(PARAVIS_Gen)
00025 #include CORBA_SERVER_HEADER(SALOME_Session)
00026 #include CORBA_SERVER_HEADER(SALOMEDS)
00027 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
00028 
00029 #include "SALOME_Component_i.hxx"
00030 
00031 namespace PARAVIS
00032 {
00037   class PARAVIS_Gen_i : public virtual POA_PARAVIS::PARAVIS_Gen,
00038                    public virtual ::Engines_Component_i
00039   {
00041     PARAVIS_Gen_var myParaVisGen;
00042 
00044     PARAVIS_Gen_i();
00046     PARAVIS_Gen_i(const PARAVIS::PARAVIS_Gen_i &);
00047   public:
00049     PARAVIS_Gen_i(SALOME::Session_ptr session,
00050                   CORBA::ORB_ptr orb,
00051                   PortableServer::POA_ptr poa,
00052                   PortableServer::ObjectId * contId, 
00053                   const char *instanceName, 
00054                   const char *interfaceName);
00055     virtual ~PARAVIS_Gen_i();
00056     
00057     virtual char* GetIOR();
00058 
00059     virtual void ImportFile(const char* theFileName);
00060 
00061     virtual void ExecuteScript(const char* script);
00062     
00063     virtual char* GetTrace();
00064     
00065     virtual void SaveTrace(const char* theFileName);
00066     
00067     // inherited methods from SALOMEDS::Driver
00068     virtual SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent, 
00069                                     const char* theURL, bool isMultiFile);
00070     
00071     virtual SALOMEDS::TMPFile* SaveASCII(SALOMEDS::SComponent_ptr theComponent,
00072                                          const char* theURL, bool isMultiFile);
00073     
00074     virtual bool Load(SALOMEDS::SComponent_ptr,   const SALOMEDS::TMPFile &,
00075                       const char* theURL, bool isMultiFile);
00076 
00077     virtual bool LoadASCII(SALOMEDS::SComponent_ptr, const SALOMEDS::TMPFile &,
00078                            const char* theURL, bool isMultiFile);
00079     
00080     virtual void Close(SALOMEDS::SComponent_ptr IORSComponent);
00081 
00082     virtual char* ComponentDataType();
00083 
00084     virtual char* IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject, const char* IORString,
00085                                          CORBA::Boolean isMultiFile, CORBA::Boolean isASCII);
00086 
00087     virtual char* LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject, const char* aLocalPersistentID,
00088                                          CORBA::Boolean isMultiFile, CORBA::Boolean isASCII);
00089 
00090     virtual bool CanPublishInStudy(CORBA::Object_ptr theIOR);
00091 
00092     virtual SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::Study_ptr theStudy,
00093                                                  SALOMEDS::SObject_ptr theSObject, 
00094                                                  CORBA::Object_ptr theObject,
00095                                                  const char* theName) throw (SALOME::SALOME_Exception);
00096 
00097     virtual CORBA::Boolean CanCopy(SALOMEDS::SObject_ptr theObject);
00098 
00099     virtual SALOMEDS::TMPFile* CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID);
00100 
00101     virtual CORBA::Boolean CanPaste(const char* theComponentName, CORBA::Long theObjectID);
00102 
00103     virtual SALOMEDS::SObject_ptr PasteInto(const SALOMEDS::TMPFile& theStream,
00104                                             CORBA::Long theObjectID, SALOMEDS::SObject_ptr theObject);
00105 
00106 
00107     virtual PARAVIS::string_array* GetClassesList();
00108     virtual PARAVIS_Base_ptr CreateClass(const char* theClassName);
00109     virtual void GetConnectionParameters(CORBA::Long& theId, 
00110                                          CORBA::String_out theDHost, CORBA::Long& theDPort,
00111                                          CORBA::String_out theRHost, CORBA::Long& theRPort,
00112                                          CORBA::Long& theReversed);
00113                                          
00114     virtual void ActivateModule();
00115 
00116 
00117     virtual void SetCurrentStudy(SALOMEDS::Study_ptr theStudy);
00118     virtual SALOMEDS::Study_ptr GetCurrentStudy();
00119   };
00120 };
00121 #endif