This file is indexed.

/usr/include/opencollada/COLLADAFramework/COLLADAFWObject.h is in opencollada-dev 0.1.0~20140703.ddf8f47+dfsg1-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
/*
Copyright (c) 2008-2009 NetAllied Systems GmbH

This file is part of COLLADAFramework.

Licensed under the MIT Open Source License,
for details please see LICENSE file or the website
http://www.opensource.org/licenses/mit-license.php
*/

#ifndef __COLLADAFW_OBJECT_H__
#define __COLLADAFW_OBJECT_H__

#include "COLLADAFWPrerequisites.h"
#include "COLLADAFWUniqueId.h"


namespace COLLADAFW
{


	/** Base class of all classes that can be referenced in the model.*/
	class Object
	{
	public:
		virtual ~Object(){};

		/** Returns the class id of the object.*/
		virtual ClassId getClassId() const =0;

		/** Returns the unique id of the object.*/
		virtual const UniqueId& getUniqueId() const = 0;

	};


	/** Base class of all classes that can be referenced in the model.*/
	template<ClassId classId>
	class ObjectTemplate : public Object
	{
	private:
		/** The unique id of the object.*/
		UniqueId mUniqueId;

	public:
		ObjectTemplate(ObjectId objectId, FileId fileId) : mUniqueId(classId, objectId, fileId) {}

		ObjectTemplate(const UniqueId& uniqueId) : mUniqueId(uniqueId) {}

		virtual ~ObjectTemplate() {}

		/** Returns the unique id of the object.*/
		const UniqueId& getUniqueId() const { return mUniqueId; }

		/** Returns the class id of the object.*/
		static ClassId ID() { return classId; }

		/** Returns the class id of the object.*/
		ClassId getClassId() const { return ID(); }

		/** Returns the object id of the object.*/
		ObjectId getObjectId() const { return mUniqueId.getObjectId(); }

		/** Returns the file id of the object.*/
		FileId getFileId() const { return mUniqueId.getFileId(); }

	protected:

        /** Sets the unique id of the object.*/
		void setUniqueId ( const UniqueId& uniqueId )
		{ 
			COLLADABU_ASSERT( uniqueId.getClassId() == classId ); 
			mUniqueId = uniqueId; 
		}


	};


	template<class ObjectType>
	ObjectType* objectSafeCast(Object* object)
	{
		if ( !object)
			return 0;

		if ( object->getClassId() == ObjectType::ID() )
			return (ObjectType*)object;
		else
			return 0;
	}

	template<class ObjectType>
	const ObjectType* objectSafeCast(const Object* object)
	{
		if ( !object)
			return 0;

		if ( object->getClassId() == ObjectType::ID() )
			return (ObjectType*)object;
		else
			return 0;
	}


} // namespace COLLADAFW

#endif // __COLLADAFW_OBJECT_H__