NitfFileHeader.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef NITFFILEHEADER_H
00011 #define NITFFILEHEADER_H
00012
00013 #include "AppVersion.h"
00014 #include "ConfigurationSettings.h"
00015 #include "NitfConstants.h"
00016 #include "NitfHeader.h"
00017
00018 #include <string>
00019
00020 class ossimContainerProperty;
00021 class ossimNitfFileHeader;
00022 class RasterDataDescriptor;
00023
00024 class DynamicObject;
00025
00026 namespace Nitf
00027 {
00028
00029
00030
00031 class FileHeader : public Header
00032 {
00033 public:
00034
00035
00036
00037
00038
00039
00040 FileHeader(const std::string& fileVersion);
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053 bool importMetadata(const ossimPropertyInterface* pHeader, RasterDataDescriptor* pDescriptor);
00054
00055 std::string getMetadataPath() const;
00056
00057 FactoryResource<DynamicObject> createDefaultsDynamicObject(const RasterDataDescriptor* pDescriptor);
00058
00059 protected:
00060
00061
00062
00063
00064
00065 static bool importClassificationString(const ossimPropertyInterface*pPropertyInterface,
00066 RasterDataDescriptor *pDescriptor,
00067 DynamicObject *pDynObj, const std::string& appName,
00068 const std::string& ossimName);
00069
00070
00071
00072
00073
00074
00075 static bool exportClassificationString(const RasterDataDescriptor* pDescriptor,
00076 const DataVariant& prop,
00077 ossimContainerProperty* pProperties, const std::string& appName,
00078 const std::string& ossimName);
00079
00080
00081
00082
00083
00084
00085 static bool importClassificationDate(const ossimPropertyInterface* pPropertyInterface,
00086 RasterDataDescriptor* pDescriptor,
00087 DynamicObject* pDynObj, const std::string& appName,
00088 const std::string& ossimName);
00089
00090
00091
00092
00093
00094
00095 static bool exportClassificationDate(const RasterDataDescriptor* pDescriptor,
00096 const DataVariant& prop,
00097 ossimContainerProperty* pProperties, const std::string& appName,
00098 const std::string& ossimName);
00099
00100
00101
00102
00103
00104
00105 static bool exportOSTAID(const RasterDataDescriptor* pDescriptor,
00106 const DataVariant& prop,
00107 ossimContainerProperty* pProperties, const std::string& appName,
00108 const std::string& ossimName);
00109
00110
00111
00112
00113
00114
00115 static bool exportONAME(const RasterDataDescriptor* pDescriptor,
00116 const DataVariant& prop,
00117 ossimContainerProperty* pProperties, const std::string& appName,
00118 const std::string& ossimName);
00119
00120
00121
00122
00123
00124
00125 static bool exportOPHONE(const RasterDataDescriptor* pDescriptor,
00126 const DataVariant& prop,
00127 ossimContainerProperty* pProperties, const std::string& appName,
00128 const std::string& ossimName);
00129
00130 private:
00131 FileHeader& operator=(const FileHeader& rhs);
00132
00133 SETTING(OSTAID, FileHeader, std::string, APP_NAME);
00134 SETTING(ONAME, FileHeader, std::string, std::string());
00135 SETTING(OPHONE, FileHeader, std::string, std::string());
00136 };
00137 }
00138
00139 #endif