USBGuard
Software framework that protects your computer against rogue USB devices by implementing basic whitelisting and blacklisting capabilities.
MemoryRuleSet.hpp
1 //
2 // Copyright (C) 2015 Red Hat, Inc.
3 //
4 // This program is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 //
17 // Authors: Radovan Sroka <rsroka@redhat.com>
18 //
19 #pragma once
20 
21 #include "usbguard/Typedefs.hpp"
22 #include "usbguard/RuleSet.hpp"
23 
24 #include <istream>
25 #include <ostream>
26 #include <mutex>
27 
28 namespace usbguard
29 {
30  class Interface;
31  class DLL_PUBLIC MemoryRuleSet : public RuleSet
32  {
33  public:
34 
35  MemoryRuleSet(Interface* const interface_ptr);
36  MemoryRuleSet(const MemoryRuleSet& rhs);
37  const MemoryRuleSet& operator=(const MemoryRuleSet& rhs);
38 
39  void load() override;
40  void save() override;
41 
42  };
43 
44 } /* namespace usbguard */
45 
46 /* vim: set ts=2 sw=2 et */
Definition: RuleSet.hpp:31
Definition: MemoryRuleSet.hpp:31
Allows to receive signals and to communicate with the USBGuard daemon.
Definition: Interface.hpp:40