Add DirectoryParser base class #51

Open
opened 3 months ago by ncc1988 · 0 comments
ncc1988 commented 3 months ago
Owner

With NNTP (Ticket #50), IMAP (Ticket #36) and FTP (Ticket #44) protocol support comes the need to have a base class for directory parsers. That base class shall provide methods for creating a DOM out of a directory, so that the rendered output of directories will look the same for all protocols because protocol-specific parsers do not need to care about the DOM creation for directories. They just need to provide data for the directory entries.

TODO:

  • Define a Parser interface or rename the MarkupParser interface to "Parser".
  • Define a DirectoryParser base class, derived from the Parser interface.
    • Implement DirectoryParser::reset
    • Define DirectoryParser::parseData (pure virtual).
    • Implement DirectoryParser::returnNodeTree()
    • Implement DirectoryParser::addDirectoryItem(name, URL, permissions (if available), protocol-specific text flags)
    • Implement DirectoryParser::setDirectoryName()
    • Implement DirectoryParser::setDirectoryPath()
    • Implement DirectoryParser::setDirectoryDescription()
With NNTP (Ticket #50), IMAP (Ticket #36) and FTP (Ticket #44) protocol support comes the need to have a base class for directory parsers. That base class shall provide methods for creating a DOM out of a directory, so that the rendered output of directories will look the same for all protocols because protocol-specific parsers do not need to care about the DOM creation for directories. They just need to provide data for the directory entries. TODO: - [ ] Define a Parser interface or rename the MarkupParser interface to "Parser". - [ ] Define a DirectoryParser base class, derived from the Parser interface. - [ ] Implement DirectoryParser::reset - [ ] Define DirectoryParser::parseData (pure virtual). - [ ] Implement DirectoryParser::returnNodeTree() - [ ] Implement DirectoryParser::addDirectoryItem(name, URL, permissions (if available), protocol-specific text flags) - [ ] Implement DirectoryParser::setDirectoryName() - [ ] Implement DirectoryParser::setDirectoryPath() - [ ] Implement DirectoryParser::setDirectoryDescription()
ncc1988 added this to the Version 0.0.2 milestone 3 months ago
ncc1988 added the
TODO
wiki-doc-TODO
test TODO
labels 3 months ago
ncc1988 self-assigned this 3 months ago
ncc1988 added the
enhancement
label 3 months ago
Sign in to join this conversation.
Loading…
There is no content yet.