Back to index

salome-kernel  6.5.0
SALOMEDS_UseCaseBuilder_i.hxx
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 //  File   : SALOMEDS_UseCaseBuilder_i.hxx
00024 //  Author : Sergey RUIN
00025 //  Module : SALOME
00026 
00027 #ifndef __SALOMEDS_USECaseBuilder_I_H__
00028 #define __SALOMEDS_USECaseBuilder_I_H__
00029 
00030 // std C++ headers
00031 #include <iostream>
00032 
00033 // IDL headers
00034 #include <SALOMEconfig.h>
00035 #include CORBA_SERVER_HEADER(SALOMEDS)
00036 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
00037 #include <SALOME_GenericObj_i.hh>
00038 
00039 #include <stdio.h>
00040 
00041 #include "SALOMEDSImpl_UseCaseIterator.hxx"
00042 #include "SALOMEDSImpl_UseCaseBuilder.hxx"
00043 
00044 class SALOMEDS_UseCaseBuilder_i: public virtual POA_SALOMEDS::UseCaseBuilder,
00045                                  public virtual PortableServer::ServantBase,
00046                                  public virtual SALOME::GenericObj_i
00047 {
00048 private:
00049 
00050   CORBA::ORB_var               _orb;
00051   SALOMEDSImpl_UseCaseBuilder* _impl;
00052 
00053 public:
00054 
00056   SALOMEDS_UseCaseBuilder_i(SALOMEDSImpl_UseCaseBuilder* theDocument,
00057                             CORBA::ORB_ptr);
00058   
00060   ~SALOMEDS_UseCaseBuilder_i();
00061   
00062   virtual CORBA::Boolean Append(SALOMEDS::SObject_ptr theObject);
00063 
00064   virtual CORBA::Boolean Remove(SALOMEDS::SObject_ptr theObject);
00065 
00066   virtual CORBA::Boolean AppendTo(SALOMEDS::SObject_ptr theFather, SALOMEDS::SObject_ptr theObject);
00067 
00068   virtual CORBA::Boolean InsertBefore(SALOMEDS::SObject_ptr theFirst, SALOMEDS::SObject_ptr theNext);
00069 
00070   virtual CORBA::Boolean  SetCurrentObject(SALOMEDS::SObject_ptr theObject);
00071   
00072   virtual CORBA::Boolean SetRootCurrent();
00073 
00074   virtual CORBA::Boolean  HasChildren(SALOMEDS::SObject_ptr theObject);
00075 
00076   virtual SALOMEDS::SObject_ptr GetFather(SALOMEDS::SObject_ptr theObject);
00077 
00078   virtual CORBA::Boolean  IsUseCase(SALOMEDS::SObject_ptr theObject);
00079 
00080   virtual CORBA::Boolean  IsUseCaseNode(SALOMEDS::SObject_ptr theObject);
00081 
00082   virtual CORBA::Boolean SetName(const char* theName);
00083 
00084   virtual SALOMEDS::SObject_ptr GetCurrentObject();
00085 
00086   virtual char* GetName();
00087 
00088   virtual SALOMEDS::SObject_ptr AddUseCase(const char* theName);
00089 
00090   virtual SALOMEDS::UseCaseIterator_ptr GetUseCaseIterator(SALOMEDS::SObject_ptr anObject);
00091 
00092 };
00093 #endif