Earth Observation Mission CFI Software FileHandlling Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.20 00003 //-------------------------------------------------------- 00004 00006 // This file contais generic data that can be used as input/output in 00007 // the classes of EXPCFI FileHandling library 00009 00010 #ifndef __EECFI_FILEHANDINGDATA__ 00011 #define __EECFI_FILEHANDINGDATA__ 00012 00013 //--INCLUDE----------------------------------------------------------- 00014 #include <FileHandlingDllExport.h> 00015 #include <string> 00016 00017 //--NAMESPACES-------------------------------------------------------- 00018 00019 namespace EECFI 00020 { 00021 //------------------------------------------------------ 00022 // CONSTANT DATA 00023 //------------------------------------------------------ 00024 00026 #define XFCFI_MAX_FILES_NUMBER 10 00027 00029 #define CFINO_SCHEMA_STRING "_NOSCHEMA_\0" 00030 00031 //------------------------------------------------------ 00032 // DATA ENUMERATION 00033 // Enumeration values are defined in an equivalent way to the C library 00034 // except for the prefix that has been changed from XX_ to XXCFI_ 00035 //------------------------------------------------------ 00036 00038 typedef enum 00039 { 00040 XFCFI_HEADER_FORMAT_EEF, 00041 XFCFI_HEADER_FORMAT_HDR, 00042 XFCFI_HEADER_FORMAT_DBL, 00043 XFCFI_HEADER_FORMAT_NONE, 00044 XFCFI_HEADER_FORMAT_EOF 00046 } FileExtensionTypeEnum; 00047 00049 typedef enum 00050 { 00051 XFCFI_SAT_DEFAULT = 0, 00052 XFCFI_SAT_DEFAULT1 = 1, 00053 XFCFI_SAT_DEFAULT2 = 2, 00054 XFCFI_SAT_DEFAULT3 = 3, 00055 XFCFI_SAT_DEFAULT4 = 4, 00056 XFCFI_SAT_DEFAULT5 = 5, 00057 XFCFI_SAT_DEFAULT6 = 6, 00058 XFCFI_SAT_DEFAULT7 = 7, 00059 XFCFI_SAT_DEFAULT8 = 8, 00060 XFCFI_SAT_DEFAULT9 = 9, 00061 XFCFI_SAT_ERS1 = 11, 00062 XFCFI_SAT_ERS2 = 12, 00063 XFCFI_SAT_ENVISAT = 21, 00064 XFCFI_SAT_METOP1 = 31, 00065 XFCFI_SAT_METOP2 = 32, 00066 XFCFI_SAT_METOP3 = 33, 00067 XFCFI_SAT_CRYOSAT = 41, 00068 XFCFI_SAT_ADM = 51, 00069 XFCFI_SAT_GOCE = 61, 00070 XFCFI_SAT_SMOS = 71, 00071 XFCFI_SAT_TERRASAR = 81, 00072 XFCFI_SAT_EARTHCARE = 91, 00073 XFCFI_SAT_SWARM_A = 101, 00074 XFCFI_SAT_SWARM_B = 102, 00075 XFCFI_SAT_SWARM_C = 103, 00076 XFCFI_SAT_SENTINEL_1A = 110, 00077 XFCFI_SAT_SENTINEL_1B = 111, 00078 XFCFI_SAT_SENTINEL_2 = 112, 00079 XFCFI_SAT_SENTINEL_3 = 113, 00080 XFCFI_SAT_SEOSAT = 120, 00081 XFCFI_SAT_SENTINEL_1C = 125, 00082 XFCFI_SAT_SENTINEL_2A = 126, 00083 XFCFI_SAT_SENTINEL_2B = 127, 00084 XFCFI_SAT_SENTINEL_2C = 128, 00085 XFCFI_SAT_SENTINEL_3A = 129, 00086 XFCFI_SAT_SENTINEL_3B = 130, 00087 XFCFI_SAT_SENTINEL_3C = 131, 00088 // AN-531 00089 XFCFI_SAT_JASON_CSA = 132, 00090 // AN-531 00091 XFCFI_SAT_JASON_CSB = 133, 00092 // AN-530 00093 XFCFI_SAT_METOP_SG_A1 = 134, 00094 // AN-530 00095 XFCFI_SAT_METOP_SG_A2 = 135, 00096 // AN-530 00097 XFCFI_SAT_METOP_SG_A3 = 136, 00098 // AN-530 00099 XFCFI_SAT_METOP_SG_B1 = 137, 00100 // AN-530 00101 XFCFI_SAT_METOP_SG_B2 = 138, 00102 // AN-530 00103 XFCFI_SAT_METOP_SG_B3 = 139, 00104 // AN-502 00105 XFCFI_SAT_SENTINEL_5P = 140, 00106 XFCFI_SAT_BIOMASS = 141, 00107 XFCFI_SAT_SENTINEL_5 = 142, 00108 XFCFI_SAT_SAOCOM_CS = 143, 00109 /* AN-683 */ 00110 XFCFI_SAT_FLEX = 144, 00111 /* END AN-683 */ 00112 XFCFI_SAT_SENTINEL_6A = 145, /* AN-809 */ 00113 XFCFI_SAT_SENTINEL_6B = 146, /* AN-809 */ 00114 XFCFI_SAT_CIMR = 147, 00115 XFCFI_SAT_ROSEL = 148, 00116 XFCFI_SAT_CHIME = 149, 00117 XFCFI_SAT_CRISTAL = 150, 00118 XFCFI_SAT_CO2M = 151, 00119 XFCFI_SAT_LSTM = 152, 00120 XFCFI_SAT_FORUM = 153, 00121 XFCFI_SAT_GENERIC = 200, 00122 // AN-353 00123 XFCFI_SAT_GENERIC_GEO = 300, 00124 XFCFI_SAT_MTG = 301, 00125 // END AN-353 00126 XFCFI_SAT_GENERIC_MEO = 400 00127 00128 } XFSatIdEnum; 00129 00130 //------------------------------------------------------ 00131 // DATA STRUCTURES 00132 //------------------------------------------------------ 00133 00137 class XF_DECL FileNameItems 00138 { 00139 public: 00140 //Attributes 00141 long satelliteId; 00142 std::string fileClass; 00143 std::string fileType; 00144 std::string instanceId; 00145 00147 FileNameItems(){}; 00148 00150 FileNameItems(const long satId, 00151 const std::string& filClass, 00152 const std::string& filTyp, 00153 const std::string& instanceIdentity) : 00154 satelliteId(satId), fileClass(filClass), fileType(filTyp), instanceId(instanceIdentity) 00155 { 00156 } 00157 }; 00158 00159 // inline char* coerce_to_mutable(const std::string& s) {return coerce_to_mutable(s.c_str());} // AN-860 00160 00161 template<typename T> inline T* coerce_to_mutable(const T* v) 00162 { 00163 return const_cast<T*>(v); 00164 } // AN-860 00165 00166 } // namespace EECFI 00167 00168 #endif