summaryrefslogtreecommitdiff
path: root/inc/TDF_Attribute.lxx
blob: d44c64cede400a213e934ab25b108265e864a488 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// File:	TDF_Attribute.lxx
//      	-----------------
// Author:	DAUTRY Philippe
//		<fid@fox.paris1.matra-dtv.fr>
// Copyright:	Matra Datavision 1997

// Version:	0.0
// History:	Version	Date		Purpose
//		0.0	Feb 14 1997	Creation

enum {
  TDF_AttributeValidMsk     = 1,
  TDF_AttributeBackupMsk    = 2,
  TDF_AttributeForgottenMsk = 4
};

inline Standard_Integer TDF_Attribute::Transaction() const
{ return myTransaction; }

// Validation
inline void TDF_Attribute::Validate(const Standard_Boolean aStatus)
{ myFlags = (aStatus) ?
    (myFlags | TDF_AttributeValidMsk) : (myFlags & ~TDF_AttributeValidMsk); }

inline Standard_Boolean TDF_Attribute::IsValid() const
{ return (myFlags & TDF_AttributeValidMsk) != 0 ; }

// Backup
inline void TDF_Attribute::Backup(const Standard_Boolean aStatus)
{
  myFlags = (aStatus) ?
    (myFlags | TDF_AttributeBackupMsk) : (myFlags & ~ TDF_AttributeBackupMsk);
  Validate(!aStatus);
}

inline Standard_Boolean TDF_Attribute::IsBackuped() const
{ return (myFlags & TDF_AttributeBackupMsk) != 0; }

// IsNew
inline Standard_Boolean TDF_Attribute::IsNew() const
{ return IsValid () && myBackup.IsNull(); }

// IsForgotten
inline Standard_Boolean TDF_Attribute::IsForgotten() const
{ return (myFlags & TDF_AttributeForgottenMsk) != 0; }

// operator <<
inline Standard_OStream& operator << (Standard_OStream& anOS,
			       const Handle(TDF_Attribute)& anAtt)
{ return anAtt->Dump(anOS); }