From: srn Date: Thu, 17 Mar 2005 07:27:48 +0000 (+0000) Subject: Local Study X-Git-Tag: T_22_03_05~13 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=4aeba95099541ea64f6cd25597f92c621f1645b7;p=modules%2Fkernel.git Local Study --- diff --git a/src/Makefile.in b/src/Makefile.in index c64ecb109..32c8d6095 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -39,7 +39,7 @@ SUBDIRS = MSG2QM SALOMELocalTrace SALOMETraceCollector Logger Utils CASCatch Pat ResourcesManager Notification NOTIFICATION_SWIG \ Container TestContainer LifeCycleCORBA HDFPersist Prs \ VTKFilter OBJECT \ - TOOLSDS SALOMEDS Event \ + TOOLSDS SALOMEDSClient SALOMEDSImpl SALOMEDS Event \ SALOMEGUI TOOLSGUI Plot2d VTKViewer OCCViewer \ SUPERVGraph \ Session SALOME_SWIG SALOME_SWIG_WITHOUTIHM SALOME_PY \ @@ -52,7 +52,7 @@ SUBDIRS = MSG2QM SALOMELocalTrace SALOMETraceCollector Logger Utils CASCatch \ ModuleCatalog DataTypeCatalog RessourcesCatalog \ ResourcesManager Notification NOTIFICATION_SWIG \ Container TestContainer LifeCycleCORBA HDFPersist Prs \ - TOOLSDS SALOMEDS Event \ + TOOLSDS SALOMEDSClient SALOMEDSImpl SALOMEDS Event \ SALOME_SWIG_WITHOUTIHM ModuleGenerator Loader Communication endif diff --git a/src/SALOMEDSClient/Makefile.in b/src/SALOMEDSClient/Makefile.in new file mode 100644 index 000000000..b4cb3897e --- /dev/null +++ b/src/SALOMEDSClient/Makefile.in @@ -0,0 +1,43 @@ +# SALOME SALOMEDS : data structure of SALOME and sources of Salome data server +# +# Copyright (C) 2003 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. +# +# 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +# +# +# +# File : Makefile.in +# Author : Marc Tajchman +# Module : SALOME + +top_srcdir=@top_srcdir@ +top_builddir=../.. +srcdir=@srcdir@ +VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_srcdir)/idl + + +@COMMENCE@ + +EXPORT_HEADERS= SALOMEDSClient_SObject.hxx \ + SALOMEDSClient_SComponent.hxx \ + SALOMEDSClient_GenericAttribute.hxx + + +@CONCLUDE@ + + diff --git a/src/SALOMEDSClient/SALOMEDSClient_GenericAttribute.hxx b/src/SALOMEDSClient/SALOMEDSClient_GenericAttribute.hxx new file mode 100644 index 000000000..3b7204d18 --- /dev/null +++ b/src/SALOMEDSClient/SALOMEDSClient_GenericAttribute.hxx @@ -0,0 +1,52 @@ +// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server +// +// Copyright (C) 2003 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. +// +// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// +// +// +// File : SALOMEDSClient__GenericAttribute_i.hxx +// Author : Sergey RUIN +// Module : SALOME + +#ifndef _GENERICCLIENT_ATTRIBUTE_HXX_ +#define _GENERICCLIENT_ATTRIBUTE_HXX_ + +#include +#include + +//SALOMEDSClient headers +#include "SALOMEDSClient_SObject.hxx" + +class LockProtection : exception +{}; + + +class SALOMEDS_GenericAttribute: +{ +public: + + void CheckLocked() throw (LockProtection) = 0; + string Store() = 0; + void Restore(const strin&) = 0; + string Type() = 0; + SALOMEDSClient_SObject* GetSObject() = 0; +}; + +#endif diff --git a/src/SALOMEDSClient/SALOMEDSClient_SComponent.hxx b/src/SALOMEDSClient/SALOMEDSClient_SComponent.hxx new file mode 100644 index 000000000..822bed6d5 --- /dev/null +++ b/src/SALOMEDSClient/SALOMEDSClient_SComponent.hxx @@ -0,0 +1,46 @@ +// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server +// +// Copyright (C) 2003 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. +// +// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// +// +// +// File : SALOMEDSClient_SComponent.hxx +// Author : Sergey RUIN +// Module : SALOME + +#ifndef __SALOMEDSCLIENT_SCOMPONENT_H__ +#define __SALOMEDSCLIENT_SCOMPONENT_H__ + +// std C++ headers +#include + +//SALOMEDSClient headers +#include "SALOMEDS_SObject_i.hxx" + + +class SALOMEDSClient_SComponent: public SALOMEDSClient_SObject +{ +public: + + virtual string ComponentDataType(); + virtual bool ComponentIOR(srting& theID); + +}; +#endif diff --git a/src/SALOMEDSClient/SALOMEDSClient_SObject.hxx b/src/SALOMEDSClient/SALOMEDSClient_SObject.hxx new file mode 100644 index 000000000..44dc0ce55 --- /dev/null +++ b/src/SALOMEDSClient/SALOMEDSClient_SObject.hxx @@ -0,0 +1,61 @@ +// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server +// +// Copyright (C) 2003 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. +// +// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// +// +// +// File : SALOMEDSClient_SObject.hxx +// Author : Sergey RUIN +// Module : SALOME + +#ifndef __SALOMEDSCLIENT_SOBJECT_I_H__ +#define __SALOMEDSCLIENT_SOBJECT_I_H__ + +// std C++ headers +#include +#include + +//SALOMEDSClient headers +#include +#include +//#include + +class SALOMEDSClient_SObject +{ + +public: + + virtual string GetID() = 0; + virtual SALOMEDSClient_SComponent* GetFatherComponent() = 0; + virtual SALOMEDSClient_SObject* GetFather() = 0; + virtual bool FindAttribute(SALOMEDSClient_GenericAttribute* anAttribute, const strin& aTypeOfAttribute) = 0; + virtual bool ReferencedObject(SALOMEDSClient_SObject* theObject) = 0; + virtual bool FindSubObject(long theTag, SALOMEDSClient_SObject* theObject) = 0; + //virtual SALOMEDSClient_Study* GetStudy() = 0; + virtual string Name() = 0; + virtual void Name(const string& theName) = 0; + virtual vector GetAllAttributes() = 0; + virtual string GetName() = 0; + virtual string GetComment() = 0; + virtual string GetIOR() = 0; + virtual short Tag() = 0; + virtual short Depth() = 0; +}; +#endif