// 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 _IFSelect_SessionDumper_HeaderFile #define _IFSelect_SessionDumper_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_IFSelect_SessionDumper_HeaderFile #include #endif #ifndef _Handle_IFSelect_SessionDumper_HeaderFile #include #endif #ifndef _MMgt_TShared_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Handle_Standard_Transient_HeaderFile #include #endif class IFSelect_SessionFile; class Standard_Transient; class TCollection_AsciiString; //! A SessionDumper is called by SessionFile. It takes into
//! account a set of classes (such as Selections, Dispatches ...).
//! SessionFile writes the Type (as defined by cdl) of each Item
//! and its general Parameters. It manages the names of the Items.
//!
//! A SessionDumper must be able to Write the Parameters which are
//! own of each Item it takes into account, given its Class, then
//! to Recognize the Type and Read its Own Parameters to create
//! an Item of this Type with these own Parameters.
//!
//! Then, there must be defined one sub-type of SessionDumper per
//! consistent set of classes (e.g. a package).
//!
//! By Own Parameters, understand Parameters given at Creation Time
//! if there are, or specific of a given class, apart from those
//! defined at superclass levels (e.g. Final Selection for a
//! Dispatch, Input Selection for a SelectExtract or SelectDeduct,
//! Direct Status for a SelectExtract, etc...).
//!
//! The Parameters are those stored in a WorkSession, they can be
//! of Types : IntParam, HAsciiString (for TextParam), Selection,
//! Dispatch.
//!
//! SessionDumpers are organized in a Library which is used by
//! SessionFile. They are put at Creation Time in this Library.
class IFSelect_SessionDumper : public MMgt_TShared { public: //! Returns the First item of the Library of Dumper. The Next ones
//! are then obtained by Next on the returned items
Standard_EXPORT static Handle_IFSelect_SessionDumper First() ; //! Returns the Next SesionDumper in the Library. Returns a Null
//! Handle at the End.
Standard_EXPORT Handle_IFSelect_SessionDumper Next() const; //! Writes the Own Parameters of a given Item, if it forecast to
//! manage its Type.
//! Returns True if it has recognized the Type of the Item (in
//! this case, it is assumed to have written the Own Parameters if
//! there are some), False else : in that case, SessionFile will
//! try another SessionDumper in the Library.
//! WriteOwn can use these methods from SessionFile : SendVoid,
//! SendItem, SendText, and if necessary, WorkSession.
Standard_EXPORT virtual Standard_Boolean WriteOwn(IFSelect_SessionFile& file,const Handle(Standard_Transient)& item) const = 0; //! Recognizes a Type (given as ) then Creates an Item of
//! this Type with the Own Parameter, as required.
//! Returns True if it has recognized the Type (in this case, it
//! is assumed to have created the Item, returned as ),
//! False else : in that case, SessionFile will try another
//! SessionDumper in the Library.
//! ReadOwn can use these methods from SessionFile to access Own
//! Parameters : NbOwnParams, IsVoid, IsText, TextValue, ItemValue
Standard_EXPORT virtual Standard_Boolean ReadOwn(IFSelect_SessionFile& file,const TCollection_AsciiString& type,Handle(Standard_Transient)& item) const = 0; DEFINE_STANDARD_RTTI(IFSelect_SessionDumper) protected: //! The Initialization puts a just created SessionDumper in the
//! Library of SessionDumper. Then, it suffices to create once
//! a SessionDumper to fill the Library with it
Standard_EXPORT IFSelect_SessionDumper(); private: Handle_IFSelect_SessionDumper thenext; }; // other Inline functions and methods (like "C++: function call" methods) #endif