|
|
|||
File indexing completed on 2026-05-21 08:29:39
0001 // Created on: 1992-02-07 0002 // Created by: Christian CAILLET 0003 // Copyright (c) 1992-1999 Matra Datavision 0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS 0005 // 0006 // This file is part of Open CASCADE Technology software library. 0007 // 0008 // This library is free software; you can redistribute it and/or modify it under 0009 // the terms of the GNU Lesser General Public License version 2.1 as published 0010 // by the Free Software Foundation, with special exception defined in the file 0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 0012 // distribution for complete text of the license and disclaimer of any warranty. 0013 // 0014 // Alternatively, this file may be used under the terms of Open CASCADE 0015 // commercial license or contractual agreement. 0016 0017 #ifndef _Transfer_TransferDispatch_HeaderFile 0018 #define _Transfer_TransferDispatch_HeaderFile 0019 0020 #include <Standard.hxx> 0021 #include <Standard_DefineAlloc.hxx> 0022 #include <Standard_Handle.hxx> 0023 0024 #include <Interface_CopyTool.hxx> 0025 class Interface_InterfaceModel; 0026 class Interface_GeneralLib; 0027 class Interface_Protocol; 0028 class Transfer_TransientProcess; 0029 class Standard_Transient; 0030 0031 //! A TransferDispatch is aimed to dispatch Entities between two 0032 //! Interface Models, by default by copying them, as CopyTool, but 0033 //! with more capabilities of adapting : Copy is redefined to 0034 //! firstly pass the hand to a TransferProcess. If this gives no 0035 //! result, standard Copy is called. 0036 //! 0037 //! This allow, for instance, to modify the copied Entity (such as 0038 //! changing a Name for a VDA Entity), or to do a deeper work 0039 //! (such as Substituting a kind of Entity to another one). 0040 //! 0041 //! For these reasons, TransferDispatch is basically a CopyTool, 0042 //! but uses a more sophiscated control, which is TransferProcess, 0043 //! and its method Copy is redefined 0044 class Transfer_TransferDispatch : public Interface_CopyTool 0045 { 0046 public: 0047 DEFINE_STANDARD_ALLOC 0048 0049 //! Creates a TransferDispatch from a Model. Works with a General 0050 //! Service Library, given as an Argument 0051 //! A TransferDispatch is created as a CopyTool in which the 0052 //! Control is set to TransientProcess 0053 Standard_EXPORT Transfer_TransferDispatch(const Handle(Interface_InterfaceModel)& amodel, 0054 const Interface_GeneralLib& lib); 0055 0056 //! Same as above, but Library is defined through a Protocol 0057 Standard_EXPORT Transfer_TransferDispatch(const Handle(Interface_InterfaceModel)& amodel, 0058 const Handle(Interface_Protocol)& protocol); 0059 0060 //! Same as above, but works with the Active Protocol 0061 Standard_EXPORT Transfer_TransferDispatch(const Handle(Interface_InterfaceModel)& amodel); 0062 0063 //! Returns the content of Control Object, as a TransientProcess 0064 Standard_EXPORT Handle(Transfer_TransientProcess) TransientProcess() const; 0065 0066 //! Copies an Entity by calling the method Transferring from the 0067 //! TransferProcess. If this called produces a Null Binder, then 0068 //! the standard, inherited Copy is called 0069 Standard_EXPORT virtual Standard_Boolean Copy(const Handle(Standard_Transient)& entfrom, 0070 Handle(Standard_Transient)& entto, 0071 const Standard_Boolean mapped, 0072 const Standard_Boolean errstat) Standard_OVERRIDE; 0073 0074 protected: 0075 private: 0076 }; 0077 0078 #endif // _Transfer_TransferDispatch_HeaderFile
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|