1 /* Copyright (c) MediaArea.net SARL. All Rights Reserved. 2 * 3 * Use of this source code is governed by a BSD-style license that can 4 * be found in the License.html file in the root of the source tree. 5 */ 6 7 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8 // 9 // Information about RAR files 10 // 11 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12 13 //--------------------------------------------------------------------------- 14 #ifndef MediaInfo_File_RarH 15 #define MediaInfo_File_RarH 16 //--------------------------------------------------------------------------- 17 18 //--------------------------------------------------------------------------- 19 #include "MediaInfo/File__Analyze.h" 20 //--------------------------------------------------------------------------- 21 22 namespace MediaInfoLib 23 { 24 25 //*************************************************************************** 26 // Class File_Rar 27 //*************************************************************************** 28 29 class File_Rar : public File__Analyze 30 { 31 public : 32 File_Rar(); 33 34 protected : 35 int state; 36 37 //Buffer - File header 38 bool FileHeader_Begin(); 39 40 //Buffer - Per element 41 bool Header_Begin(); 42 void Header_Parse(); 43 void Header_Parse_Flags(); 44 void Header_Parse_Flags_73(); 45 void Header_Parse_Flags_74(); 46 void Header_Parse_Flags_XX(); 47 void Header_Parse_Content(); 48 void Header_Parse_Content_73(); 49 void Header_Parse_Content_74(); 50 void Header_Parse_Content_XX(); 51 void Data_Parse(); 52 53 //Temp 54 int8u HEAD_TYPE; 55 int32u PACK_SIZE; 56 int32u HIGH_PACK_SIZE; 57 int16u HEAD_FLAGS; 58 bool high_fields; 59 bool usual_or_utf8; 60 bool salt; 61 bool exttime; 62 bool add_size; 63 }; 64 65 } //NameSpace 66 67 #endif 68