FOSSology  4.5.1
Open Source License Compliance by Open Source Software
copyscan.hpp
1 /*
2  SPDX-FileCopyrightText: © 2015 Siemens AG
3  Author: Florian Krügel
4 
5  SPDX-License-Identifier: GPL-2.0-only
6 */
7 #ifndef COPYSCAN_HPP_
8 #define COPYSCAN_HPP_
9 
10 #include "scanners.hpp"
11 #include "regex.hpp"
12 
13 using std::vector;
14 using std::pair;
15 
20 class hCopyrightScanner : public scanner
21 {
22 public:
23  void ScanString(const string& s, list<match>& results) const;
25  string Cleanup(const string &raw) const;
26  void TrimPunctuation(string &text) const;
27  void RemoveNoisePatterns(string& text) const;
28  void NormalizeCopyright(string& text) const;
29  void StripSuffixes(string& text) const;
30 private:
43  rx::regex regCopyright, regException, regExceptionCopy, regNonBlank, regSimpleCopyright,
44  regSpdxCopyright, regRemoveFileStmt, regStripLicenseTrail, regStripTrademarkTrail, regStripAllRightReserveTrail;
45 } ;
46 
47 #endif
48 
Implementation of scanner class for copyright.
Definition: copyscan.hpp:21
rx::regex regNonBlank
Definition: copyscan.hpp:43
void ScanString(const string &s, list< match > &results) const
Scan a given string for copyright statements.
Definition: copyscan.cc:59
rx::regex regSpdxCopyright
Definition: copyscan.hpp:44
hCopyrightScanner()
Constructor for default hCopyrightScanner.
Definition: copyscan.cc:20
rx::regex regCopyright
Definition: copyscan.hpp:43
rx::regex regSimpleCopyright
Definition: copyscan.hpp:43
rx::regex regException
Definition: copyscan.hpp:43
Abstract class to provide interface to scanners.
Definition: scanners.hpp:52
int s
The socket that the CLI will use to communicate.
Definition: fo_cli.c:37
Utilities to help scanners.
list_t type structure used to keep various lists. (e.g. there are multiple lists).
Definition: nomos.h:308