OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfTagInformation.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2000 ImageLinks Inc.
3 //
4 // License: MIT
5 //
6 // Author: Garrett Potts
7 //
8 // Description: Nitf support class
9 //
10 //********************************************************************
11 // $Id$
12 
13 #ifndef ossimNitfTagInformation_HEADER
14 #define ossimNitfTagInformation_HEADER 1
15 
16 #include <ossim/base/ossimObject.h>
17 #include <ossim/base/ossimIosFwd.h>
19 
20 class ossimString;
21 
23 {
24 public:
26  virtual ~ossimNitfTagInformation();
27 
28  virtual void parseStream(ossim::istream& in);
29  virtual void writeStream(ossim::ostream& out);
30 
31  void setTagName(const ossimString& tagName);
32  void setTagLength(ossim_uint32 tagLength);
33 
39  ossim_uint32 getTotalTagLength()const;
40 
45  ossim_uint32 getTagLength()const;
46  ossim_uint64 getTagOffset()const;
47  ossim_uint64 getTagDataOffset()const;
48 
49  ossimString getTagName()const;
50  virtual std::ostream& print(std::ostream& out)const;
51  void clearFields();
52 
54  const ossimRefPtr<ossimNitfRegisteredTag> getTagData()const;
55  void setTagData(ossimRefPtr<ossimNitfRegisteredTag> tagData);
56  ossimString getTagType() const;
57  void setTagType(const ossimString& tagType) const;
58 
59  bool operator<(const ossimNitfTagInformation& rhs) const
60  {
61  return getTotalTagLength() < rhs.getTotalTagLength();
62  }
63 
64 private:
65 
69  char theTagName[7];
70 
74  char theTagLength[6];
75 
80  mutable char theTagType[7];
81 
87 
94 
99 };
100 
101 #endif
ossimRefPtr< ossimNitfRegisteredTag > theTagData
Used to hold the tag data.
#define OSSIMDLLEXPORT
bool operator<(const ossimNitfTagInformation &rhs) const
virtual std::ostream & print(std::ostream &out) const
Generic print method.
unsigned long long ossim_uint64
unsigned int ossim_uint32
ossim_uint32 getTotalTagLength() const
Length of the 5 byte tag length the 6 byte tag name and the data length.
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
ossim_uint64 theTagOffset
This will hold the offset to the start of the above information This is just a work variable...
ossim_uint64 theTagDataOffset
This will hold the start to the data.
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23