limal-apparmor-control
|
00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | _ _ _ _ __ _ | 00004 | | | | | | \_/ | / \ | | | 00005 | | | | | | |_| | / /\ \ | | | 00006 | | |__ | | | | | | / ____ \ | |__ | 00007 | |____||_| |_| |_|/ / \ \|____| | 00008 | | 00009 | apparmor-control library | 00010 | | 00011 | (C) SUSE Linux Products GmbH | 00012 \----------------------------------------------------------------------/ 00013 00014 File: ApparmorControl.hpp 00015 00016 Author: Matt Barringer <mbarringer@suse.de> 00017 Maintainer: Matt Barringer <mbarringer@suse.de> 00018 00019 Purpose: 00020 00021 /-*/ 00026 #ifndef LIMAL_APPARMOR_CONTROL_HPP 00027 #define LIMAL_APPARMOR_CONTROL_HPP 00028 00029 #include <limal/apparmor-control/config.h> 00030 #include <blocxx/String.hpp> 00031 #include <blocxx/COWIntrusiveReference.hpp> 00032 namespace LIMAL_NAMESPACE 00033 { 00034 namespace APPARMOR_CONTROL_NAMESPACE 00035 { 00036 00041 class ApparmorControl 00042 { 00043 public: 00044 ApparmorControl(); 00045 ~ApparmorControl(); 00046 00047 00052 blocxx::String getPathToInitScript() const; 00053 00059 void setpathToInitScript(const blocxx::String &script); 00060 00065 blocxx::String getPathToSubdomainStatusScript() const; 00066 00071 void setPathToSubdomainStatusScript(const blocxx::String &script); 00072 00077 blocxx::Int32 startAppArmor(); 00078 00083 blocxx::Int32 stopAppArmor(); 00084 00089 blocxx::Int32 isEnabled(); 00090 00091 private: 00092 class Data; 00093 blocxx::COWIntrusiveReference<Data> m_data; 00094 00095 }; 00096 00097 } // End of APPARMOR_CONTROL_NAMESPACE 00098 00099 namespace Apparmor 00100 { 00101 00102 using limal::apparmor_control::ApparmorControl; 00103 00104 } 00105 00106 } // End of LIMAL_NAMESPACE 00107 00108 #endif // LIMAL_APPARMOR_CONTROL_HPP 00109