diff --git a/Userland/Libraries/LibIMAP/Parser.h b/Userland/Libraries/LibIMAP/Parser.h index de739f819f..4ba1432336 100644 --- a/Userland/Libraries/LibIMAP/Parser.h +++ b/Userland/Libraries/LibIMAP/Parser.h @@ -23,57 +23,50 @@ public: ParseStatus parse(ByteBuffer&& buffer, bool expecting_tag); private: + static MailboxFlag parse_mailbox_flag(StringView); + + void consume(StringView); + bool try_consume(StringView); + StringView consume_while(Function should_consume); + + bool at_end() { return position >= m_buffer.size(); }; + + unsigned parse_number(); + Optional try_parse_number(); + + void parse_response_done(); + void parse_untagged(); + void parse_capability_response(); + + StringView parse_atom(); + StringView parse_quoted_string(); + StringView parse_literal_string(); + StringView parse_string(); + StringView parse_astring(); + Optional parse_nstring(); + + ResponseStatus parse_status(); + ListItem parse_list_item(); + FetchCommand::DataItem parse_fetch_data_item(); + FetchResponseData parse_fetch_response(); + Optional> parse_address_list(); + Address parse_address(); + HashMap parse_body_fields_params(); + BodyStructure parse_body_structure(); + BodyStructure parse_one_part_body(); + BodyExtension parse_body_extension(); + Tuple> parse_disposition(); + Vector parse_langs(); + Envelope parse_envelope(); + + template + Vector parse_list(T (*converter)(StringView)); + // To retain state if parsing is not finished ByteBuffer m_buffer; SolidResponse m_response; unsigned position { 0 }; bool m_incomplete { false }; bool m_parsing_failed { false }; - - bool try_consume(StringView); - bool at_end() { return position >= m_buffer.size(); }; - - void parse_response_done(); - - void consume(StringView x); - StringView consume_while(Function should_consume); - - unsigned parse_number(); - Optional try_parse_number(); - - void parse_untagged(); - - StringView parse_atom(); - StringView parse_quoted_string(); - StringView parse_string(); - Optional parse_nstring(); - - ResponseStatus parse_status(); - - template - Vector parse_list(T (*converter)(StringView)); - - static MailboxFlag parse_mailbox_flag(StringView s); - - - void parse_capability_response(); - - ListItem parse_list_item(); - - FetchCommand::DataItem parse_fetch_data_item(); - - FetchResponseData parse_fetch_response(); - - StringView parse_literal_string(); - Optional> parse_address_list(); - Address parse_address(); - StringView parse_astring(); - HashMap parse_body_fields_params(); - BodyStructure parse_body_structure(); - BodyStructure parse_one_part_body(); - Tuple> parse_disposition(); - Vector parse_langs(); - BodyExtension parse_body_extension(); - Envelope parse_envelope(); }; }