0024166: Unable to create file with "Save" menu of voxeldemo Qt sample
[occt.git] / src / Standard / Standard_Persistent_proto.hxx
CommitLineData
b311480e 1// Copyright (c) 1998-1999 Matra Datavision
2// Copyright (c) 1999-2012 OPEN CASCADE SAS
3//
4// The content of this file is subject to the Open CASCADE Technology Public
5// License Version 6.5 (the "License"). You may not use the content of this file
6// except in compliance with the License. Please obtain a copy of the License
7// at http://www.opencascade.org and read it completely before using this file.
8//
9// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
10// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
11//
12// The Original Code and all software distributed under the License is
13// distributed on an "AS IS" basis, without warranty of any kind, and the
14// Initial Developer hereby disclaims all such warranties, including without
15// limitation, any warranties of merchantability, fitness for a particular
16// purpose or non-infringement. Please see the License for the specific terms
17// and conditions governing the rights and limitations under the License.
18
7fd59977 19#ifndef _Standard_Persistent_proto_HeaderFile
20#define _Standard_Persistent_proto_HeaderFile
21
22#ifndef _Standard_Macro_HeaderFile
23#include <Standard_Macro.hxx>
24#endif
1c35b92f 25#ifndef _Standard_DefineAlloc_HeaderFile
26#include <Standard_DefineAlloc.hxx>
27#endif
7fd59977 28#ifndef _Standard_PrimitiveTypes_HeaderFile
29#include <Standard_PrimitiveTypes.hxx>
30#endif
31#ifndef _Standard_HeaderFile
32#include <Standard.hxx>
33#endif
34
35class Handle_Standard_Persistent;
36class Standard_Type;
37class Handle_Standard_Type;
38class Standard_Type;
39
40class Storage_stCONSTclCOM;
34781c33 41Standard_EXPORT const Handle_Standard_Type& Standard_Persistent_Type_();
7fd59977 42
43class Standard_Persistent
44{
45friend class Handle(Standard_Persistent);
46friend class Storage_Schema;
47
48private:
49 Standard_Integer count;
50 Standard_Integer _typenum;
51 Standard_Integer _refnum;
52public:
1c35b92f 53
54 DEFINE_STANDARD_ALLOC
7fd59977 55
7fd59977 56 Standard_EXPORT virtual Handle_Standard_Persistent This() const;
57 Standard_EXPORT virtual Handle_Standard_Persistent ShallowCopy () const;
58 Standard_EXPORT virtual void Delete() const;
59 Standard_EXPORT virtual ~Standard_Persistent();
60
61 Standard_EXPORT Standard_Persistent& operator= (const Standard_Persistent&);
62 Standard_Persistent() : count(0),_typenum(0),_refnum(0) {};
63 Standard_Persistent(const Standard_Persistent&) : count(0),_typenum(0),_refnum(0) {};
64 Standard_Persistent(const Storage_stCONSTclCOM&) : count(0),_typenum(0),_refnum(0) {}
65
66 Standard_EXPORT virtual const Handle_Standard_Type& DynamicType() const;
67 Standard_EXPORT Standard_Boolean IsKind(const Handle_Standard_Type&)const;
68 Standard_EXPORT Standard_Boolean IsInstance(const Handle_Standard_Type&)const;
7fd59977 69 Standard_EXPORT virtual void ShallowDump(Standard_OStream& ) const;
70};
71
72#include <Handle_Standard_Persistent.hxx>
73
74#endif
75
76
77
78
79
80
81
82