OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNitfDataExtensionSegmentV2_0.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2000 ImageLinks Inc.
3 //
4 // License: See top level LICENSE.txt file.
5 //
6 // Author: Garrett Potts
7 //
8 // Description: Nitf support class
9 //
10 //********************************************************************
11 // $Id: ossimNitfDataExtensionSegmentV2_0.h 22418 2013-09-26 15:01:12Z gpotts $
12 #ifndef ossimNitfDataExtensionSegmentV2_0_HEADER
13 #define ossimNitfDataExtensionSegmentV2_0_HEADER
16 
18 {
21  char theFilePartType[3]; // 2 byte alpha
22  char theUniqueDataExtTypeId[26]; // 25 byte alpha numeric
23  char theVersionDataFieldDef[3]; // 2 byte numeric
24  char theDataExtSecurityClass[2]; // 1 byte alpha
25  char theDataExtCodewords[41]; // 40 byte alpha numeric
26  char theDataExtControlAndHand[41]; // 40 byte alpha numeric
27  char theDataExtReleasingInst[41]; // 40 byte alpha numeric
28  char theDataExtClassAuthority[21]; // 20 byte alph num
29  char theDataExtSecurityConNum[21]; // 20 byte alpha num
30  char theDataExtSecurityDowngrade[7]; // 6 byte alpha num
31  char theDataExtDowngradingEvent[41]; // 40 byte alpha num
32 };
33 
35 {
36 public:
39  virtual void parseStream(std::istream &in, ossim_uint64 dataLength);
40  virtual std::ostream& print(std::ostream& out)const;
41  virtual const std::vector<ossimNitfTagInformation>& getTagList()const
42  {
43  return theTagList;
44  }
45 
47  void getPropertyNames(std::vector<ossimString>& propertyNames)const;
48 
49  static const ossimString DESTAG_KW;
50  static const ossimString DESDWNG_KW;
51  static const ossimString DESDEVT_KW;
52 
53 private:
54  void clearFields();
55 
57 
61  char theOverflowedHeaderType[7];
62 
66  char theDataItemOverflowed[4];
67 
71  char theLengthOfUserDefinedSubheaderFields[5];
72 
76  std::vector<unsigned char> theUserDefinedSubheaderFields;
77 
81  std::vector<unsigned char> theData;
82 
83  std::vector<ossimNitfTagInformation> theTagList;
84 
86 };
87 
88 #endif
ossimNitfDataExtIdentSecurityChunkV2_0 theIdentSecurityChunk
std::vector< ossimNitfTagInformation > theTagList
#define OSSIMDLLEXPORT
virtual const std::vector< ossimNitfTagInformation > & getTagList() const
friend std::ostream & operator<<(std::ostream &out, const ossimNitfDataExtIdentSecurityChunkV2_0 &data)
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
virtual std::ostream & print(std::ostream &out) const
Generic print method.
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned long long ossim_uint64
virtual void parseStream(std::istream &in, ossim_uint64 dataLength)=0
std::vector< unsigned char > theUserDefinedSubheaderFields
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23