|
apt 3.0.3
commandline package manager
|
Classes | |
| struct | Tag |
Public Member Functions | |
| bool | operator== (const pkgTagSection &rhs) |
| bool | operator!= (const pkgTagSection &rhs) |
| std::string | FindS (std::string_view sv) const |
| std::string | FindRawS (std::string_view sv) const |
| bool | Find (std::string_view Tag, const char *&Start, const char *&End) const |
| bool | Find (std::string_view Tag, unsigned int &Pos) const |
| std::string_view | Find (std::string_view Tag) const |
| std::string_view | FindRaw (std::string_view Tag) const |
| signed int | FindI (std::string_view Tag, signed long Default=0) const |
| bool | FindB (std::string_view, bool Default=false) const |
| unsigned long long | FindULL (std::string_view Tag, unsigned long long const &Default=0) const |
| bool | FindFlag (std::string_view Tag, uint8_t &Flags, uint8_t const Flag) const |
| bool | FindFlag (std::string_view Tag, unsigned long &Flags, unsigned long Flag) const |
| bool | Exists (std::string_view Tag) const |
| bool | Scan (const char *Start, unsigned long MaxLength, bool const Restart=true) |
| searches the boundaries of the current section | |
| unsigned long | size () const |
| void | Trim () |
| virtual void | TrimRecord (bool BeforeRecord, const char *&End) |
| unsigned int | Count () const |
| amount of Tags in the current section | |
| void | Get (const char *&Start, const char *&Stop, unsigned int I) const |
| void | GetSection (const char *&Start, const char *&Stop) const |
| bool | Write (FileFd &File, char const *const *const Order=NULL, std::vector< Tag > const &Rewrite=std::vector< Tag >()) const |
Protected Attributes | |
| const char * | Stop |
single deb822 stanza and provides various Find methods to extract the included values. It can also be used to modify and write a valid deb822 stanza optionally (re)ordering the fields inside the stanza.
Beware: This class does NOT support (#-)comments in in- or output! If the input contains comments they have to be stripped first like pkgTagFile does with SUPPORT_COMMENTS flag set.
| APT_PURE unsigned int Count | ( | ) | const |
amount of Tags in the current section
Note: if a Tag is mentioned repeatedly it will be counted multiple times, but only the last occurrence is available via Find methods.
Referenced by EDSP::ReadResponse().
| bool Scan | ( | const char * | Start, |
| unsigned long | MaxLength, | ||
| bool const | Restart = true |
||
| ) |
searches the boundaries of the current section
While parameter Start marks the beginning of the section, this method will search for the first double newline in the data stream which marks the end of the section. It also does a first pass over the content of the section parsing it as encountered for processing later on by Find
| Start | is the beginning of the section |
| MaxLength | is the size of valid data in the stream pointed to by Start |
| Restart | if enabled internal state will be cleared, otherwise it is assumed that now more data is available in the stream and the parsing will start were it encountered insufficient data the last time. |
| bool Write | ( | FileFd & | File, |
| char const *const *const | Order = NULL, |
||
| std::vector< Tag > const & | Rewrite = std::vector<Tag>() |
||
| ) | const |
Write this section (with optional rewrites) to a file
| File | to write the section to |
| Order | in which tags should appear in the file |
| Rewrite | is a set of tags to be renamed, rewritten and/or removed |