This file is indexed.

/usr/include/oce/TObj_TReference.hxx is in liboce-ocaf-lite-dev 0.17.2-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
// Created on: 2004-11-23
// Created by: Pavel TELKOV
// Copyright (c) 2004-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.

// The original implementation Copyright: (C) RINA S.p.A

#ifndef TObj_TReference_HeaderFile
#define TObj_TReference_HeaderFile

#include <TObj_Common.hxx>
#include <TDF_Attribute.hxx>
#include <TDF_Label.hxx>

class Handle(TObj_TReference);
class Handle(TObj_Object);
class Standard_GUID;
class Handle(TDF_RelocationTable);

/**
* Attribute for storing references to the objects which implement
* TObj_Object interface in the OCAF tree.
* Its persistency mechanism provides transparent method for storing
* cross-model references.
* Each reference, when created, registers itself in the referred object,
* to support back references
*/

class TObj_TReference : public TDF_Attribute
{
 public:
  //! Standard methods of OCAF attribute

  //! Empty constructor
  Standard_EXPORT TObj_TReference();

  //! This method is used in implementation of ID()
  static Standard_EXPORT const Standard_GUID& GetID();

  //! Returns the ID of TObj_TReference attribute.
  Standard_EXPORT const Standard_GUID& ID() const;

 public:
  //! Method for create TObj_TReference object

  //! Creates reference on TDF_Label <theLabel> to the object <theObject> and
  //! creates backreference from the object <theObject> to <theMaster> one.
  static Standard_EXPORT Handle(TObj_TReference) Set
                         (const TDF_Label&               theLabel,
                          const Handle(TObj_Object)& theObject,
                          const Handle(TObj_Object)& theMaster);

 public:
  //! Methods for setting and obtaining referenced object

  //! Sets the reference to the theObject
  Standard_EXPORT void Set(const Handle(TObj_Object)& theObject,
                           const TDF_Label&               theMasterLabel);

  //! Sets the reference to the theObject at indicated Label.
  //! It is method for persistent only. Don`t use anywhere else.
  Standard_EXPORT void Set(const TDF_Label& theLabel,
                           const TDF_Label& theMasterLabel);

  //! Returns the referenced theObject
  Standard_EXPORT Handle(TObj_Object) Get() const;

  //! Returns the Label of master object.
  Standard_EXPORT TDF_Label GetMasterLabel() const {return myMasterLabel;}

  //! Returns the referred label.
  Standard_EXPORT TDF_Label GetLabel() const {return myLabel;}

 public:
  //! Redefined OCAF abstract methods

  //! Returns an new empty TObj_TReference attribute. It is used by the
  //! copy algorithm.
  Standard_EXPORT Handle(TDF_Attribute) NewEmpty() const;

  //! Restores the backuped contents from <theWith> into this one. It is used
  //! when aborting a transaction.
  Standard_EXPORT void Restore(const Handle(TDF_Attribute)& theWith);

  //! This method is used when copying an attribute from a source structure
  //! into a target structure.
  Standard_EXPORT void Paste(const Handle(TDF_Attribute)&       theInto,
                             const Handle(TDF_RelocationTable)& theRT) const;

  //! Remove back references of it reference if it is in other document.
  virtual Standard_EXPORT void BeforeForget();

  //! It is necessary for tranzaction mechanism (Undo/Redo).
  virtual Standard_EXPORT Standard_Boolean BeforeUndo
                   (const Handle(TDF_AttributeDelta)& theDelta,
                    const Standard_Boolean            isForced = Standard_False);

  //! It is necessary for tranzaction mechanism (Undo/Redo).
  virtual Standard_EXPORT Standard_Boolean AfterUndo
                   (const Handle(TDF_AttributeDelta)& theDelta,
                    const Standard_Boolean            isForced = Standard_False);

  //! Check if back reference exists for reference.
  virtual Standard_EXPORT void AfterResume();

  //! Called after retrieval reference from file.
  virtual Standard_EXPORT Standard_Boolean AfterRetrieval
                         (const Standard_Boolean forceIt = Standard_False);

 private:
  //! Fields
  TDF_Label myLabel;          //!< Label that indicate referenced object
  TDF_Label myMasterLabel;    //!< Label of object that have this reference.

 public:
  //! CASCADE RTTI
  DEFINE_STANDARD_RTTI(TObj_TReference)
};

//! Define handle class for TObj_TReference
DEFINE_STANDARD_HANDLE(TObj_TReference,TDF_Attribute)

#endif

#ifdef _MSC_VER
#pragma once
#endif