// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _Transfer_TransferDispatch_HeaderFile #define _Transfer_TransferDispatch_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Interface_CopyTool_HeaderFile #include #endif #ifndef _Handle_Interface_InterfaceModel_HeaderFile #include #endif #ifndef _Handle_Interface_Protocol_HeaderFile #include #endif #ifndef _Handle_Transfer_TransientProcess_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Handle_Standard_Transient_HeaderFile #include #endif class Interface_InterfaceError; class Interface_InterfaceModel; class Interface_GeneralLib; class Interface_Protocol; class Transfer_TransientProcess; class Standard_Transient; //! A TransferDispatch is aimed to dispatch Entities between two
//! Interface Models, by default by copying them, as CopyTool, but
//! with more capabilities of adapting : Copy is redefined to
//! firstly pass the hand to a TransferProcess. If this gives no
//! result, standard Copy is called.
//!
//! This allow, for instance, to modify the copied Entity (such as
//! changing a Name for a VDA Entity), or to do a deeper work
//! (such as Substituting a kind of Entity to another one).
//!
//! For these reasons, TransferDispatch is basically a CopyTool,
//! but uses a more sophiscated control, which is TransferProcess,
//! and its method Copy is redefined
class Transfer_TransferDispatch : public Interface_CopyTool { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Creates a TransferDispatch from a Model. Works with a General
//! Service Library, given as an Argument
//! A TransferDispatch is created as a CopyTool in which the
//! Control is set to TransientProcess
Standard_EXPORT Transfer_TransferDispatch(const Handle(Interface_InterfaceModel)& amodel,const Interface_GeneralLib& lib); //! Same as above, but Library is defined through a Protocol
Standard_EXPORT Transfer_TransferDispatch(const Handle(Interface_InterfaceModel)& amodel,const Handle(Interface_Protocol)& protocol); //! Same as above, but works with the Active Protocol
Standard_EXPORT Transfer_TransferDispatch(const Handle(Interface_InterfaceModel)& amodel); //! Returns the content of Control Object, as a TransientProcess
Standard_EXPORT Handle_Transfer_TransientProcess TransientProcess() const; //! Copies an Entity by calling the method Transferring from the
//! TransferProcess. If this called produces a Null Binder, then
//! the standard, inherited Copy is called
Standard_EXPORT virtual Standard_Boolean Copy(const Handle(Standard_Transient)& entfrom,Handle(Standard_Transient)& entto,const Standard_Boolean mapped,const Standard_Boolean errstat) ; protected: private: }; // other Inline functions and methods (like "C++: function call" methods) #endif