/usr/include/ossim/base/ossimDataObject.h is in libossim-dev 1.7.21-4.
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 | //*******************************************************************
// Copyright (C) 2000 ImageLinks Inc.
//
// License: LGPL
//
// See LICENSE.txt file in the top level directory for more details.
//
// Author: Garrett Potts
//
//*************************************************************************
// $Id: ossimDataObject.h 14789 2009-06-29 16:48:14Z dburken $
#ifndef ossimDataObject_HEADER
#define ossimDataObject_HEADER
#include <ossim/base/ossimObject.h>
#include <ossim/base/ossimConstants.h>
#include <ossim/base/ossimDpt3d.h>
class ossimSource;
class OSSIMDLLEXPORT ossimDataObject : public ossimObject
{
public:
ossimDataObject(ossimSource* source=0,
ossimDataObjectStatus status=OSSIM_STATUS_UNKNOWN);
ossimDataObject(const ossimDataObject& rhs);
virtual ~ossimDataObject();
virtual ossim_uint32 getHashId()const=0;
/**
* Sets the owner of this Data object.
*/
virtual void setOwner(ossimSource* aSource);
virtual ossimSource* getOwner();
virtual const ossimSource* getOwner() const;
/**
* Full list found in ossimConstants.h
*
* OSSIM_STATUS_UNKNOWN
* OSSIM_NULL Null data. The buffers are never allocated
* OSSIM_EMPTY Allocated data but its empty. Most of the
* time this will be the default for an initialized
* data object.
* OSSIM_PARTIAL Says that some of the object is empty and is only
* partially full
* OSSIM_FULL This data is completey full
*/
virtual void setDataObjectStatus(ossimDataObjectStatus status) const;
/**
* @return Returns enumerated status:
* OSSIM_STATUS_UNKNOWN = 0
* OSSIM_NULL = 1
* OSSIM_EMPTY = 2
* OSSIM_PARTIAL = 3
* OSSIM_FULL = 4
*/
virtual ossimDataObjectStatus getDataObjectStatus() const;
/**
* @return Returns the status as a string, like "OSSIM_NULL".
*/
virtual ossimString getDataObjectStatusString() const;
virtual ossim_uint32 getObjectSizeInBytes()const;
virtual ossim_uint32 getDataSizeInBytes()const=0;
/**
* This is to be overriden in the derived classes so they can check
* If their data is null.
*/
virtual bool isInitialize() const;
/**
* Will allow derived classes to initialize their buffers. This class
* does nothing with this and reset any internal attributes.
*/
virtual void initialize()=0;
virtual void assign(const ossimDataObject* rhs);
/**
* Derived classes should implement this method. For data objects
* there is usually 2 types of tests a shallow and a deep test. If
* deepTest is false then a shallow test is performed. I shallow test
* just doesn't compare the data but instead compares the fields that
* describes the data. For example if it were an ossimImageData then a
* shallow compare will just compare the origin, scale, width, height,
* number of bands, min, max, null, and scalar type. If
* it were a deep compare it will also test the actual data to one another.
*/
virtual bool isEqualTo(const ossimDataObject& rhs,
bool deepTest=false)const=0;
virtual const ossimDataObject* operator =(const ossimDataObject* rhs);
virtual const ossimDataObject& operator=(const ossimDataObject& rhs);
virtual bool operator==(const ossimDataObject& rhs) const;
virtual bool operator!=(const ossimDataObject& rhs) const;
virtual std::ostream& print(std::ostream& out) const;
protected:
//***
// Note: This object is not responsible for deletion of the ossimSource*
// "theSource". It is simply a hook to his owner for things
// like unregister and so forth...
//***
ossimSource* theOwner;
mutable ossimDataObjectStatus theDataObjectStatus;
TYPE_DATA
};
#endif
|