0026961: Recover possibility to read files in old persistence format
[occt.git] / src / StdLPersistent / StdLPersistent_TreeNode.hxx
CommitLineData
7ed7467d 1// Copyright (c) 2015 OPEN CASCADE SAS
2//
3// This file is part of Open CASCADE Technology software library.
4//
5// This library is free software; you can redistribute it and/or modify it under
6// the terms of the GNU Lesser General Public License version 2.1 as published
7// by the Free Software Foundation, with special exception defined in the file
8// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9// distribution for complete text of the license and disclaimer of any warranty.
10//
11// Alternatively, this file may be used under the terms of Open CASCADE
12// commercial license or contractual agreement.
13
14
ff205346 15#ifndef _StdLPersistent_TreeNode_HeaderFile
16#define _StdLPersistent_TreeNode_HeaderFile
7ed7467d 17
ff205346 18#include <StdObjMgt_Attribute.hxx>
19#include <StdLObject_GUID.hxx>
7ed7467d 20
ff205346 21#include <TDataStd_TreeNode.hxx>
7ed7467d 22
23
ff205346 24class StdLPersistent_TreeNode
25 : public StdObjMgt_Attribute<TDataStd_TreeNode>::Static
7ed7467d 26{
27public:
28 //! Read persistent data from a file.
29 Standard_EXPORT virtual void Read (StdObjMgt_ReadData& theReadData);
30
ff205346 31 //! Create an empty transient attribuite
32 Standard_EXPORT virtual Handle(TDF_Attribute) CreateAttribute();
33
7ed7467d 34 //! Import transient attribuite from the persistent data.
ff205346 35 Standard_EXPORT virtual void ImportAttribute();
7ed7467d 36
37private:
ff205346 38 struct dynamic : public Standard_Transient
39 {
40 Reference <StdLPersistent_TreeNode> First;
41 Object <StdLObject_GUID> TreeID;
42 };
43
44 Handle(dynamic) myDynamicData;
45 Reference<StdLPersistent_TreeNode> myNext;
7ed7467d 46};
47
48#endif