Magick++ 7.0.10

SecurityPolicy.cpp
Go to the documentation of this file.
1 // This may look like C code, but it is really -*- C++ -*-
2 //
3 // Copyright Dirk Lemstra 2018
4 //
5 // Implementation of the security policy.
6 //
7
8 #define MAGICKCORE_IMPLEMENTATION 1
9 #define MAGICK_PLUSPLUS_IMPLEMENTATION 1
10
11 #include "Magick++/SecurityPolicy.h"
12 #include "Magick++/Exception.h"
13 #include <string>
14 #include <sstream>
15
16 using namespace std;
17
18 bool Magick::SecurityPolicy::anonymousCacheMemoryMap()
19 {
20 return(setValue(CachePolicyDomain,"memory-map","anonymous"));
21 }
22
23 bool Magick::SecurityPolicy::anonymousSystemMemoryMap()
24 {
25 return(setValue(SystemPolicyDomain,"memory-map","anonymous"));
26 }
27
28 bool Magick::SecurityPolicy::precision(const int precision_)
29 {
30 string
31 value;
32
33 value=toString(precision_);
34 return(setValue(SystemPolicyDomain,"precision",value));
35 }
36
37 bool Magick::SecurityPolicy::maxMemoryRequest(const MagickSizeType limit_)
38 {
39 string
40 value;
41
42 value=toString(limit_);
43 return(setValue(SystemPolicyDomain,"max-memory-request",value));
44 }
45
46 bool Magick::SecurityPolicy::shred(const int passes_)
47 {
48 string
49 value;
50
51 value=toString(passes_);
52 return(setValue(SystemPolicyDomain,"shred",value));
53 }
54
55 Magick::SecurityPolicy::SecurityPolicy()
56 {
57 }
58
59 bool Magick::SecurityPolicy::setValue(const PolicyDomain domain_,
60 const std::string name_,const std::string value_)
61 {
62 MagickBooleanType
63 status;
64
65 GetPPException;
66 status=MagickCore::SetMagickSecurityPolicyValue(domain_,name_.c_str(),
67 value_.c_str(),exceptionInfo);
68 ThrowPPException(false);
69 return(status != MagickFalse);
70 }
71
72 template <typename T>
73 std::string Magick::SecurityPolicy::toString(const T& value)
74 {
75 stringstream ss;
76 ss << value;
77 return ss.str();
78 }
Magick::SecurityPolicy::maxMemoryRequest
static bool maxMemoryRequest(const MagickSizeType limit_)
Definition: SecurityPolicy.cpp:37
Magick::SecurityPolicy::precision
static bool precision(const int precision_)
Definition: SecurityPolicy.cpp:28
std
STL namespace.
Magick::SecurityPolicy::anonymousSystemMemoryMap
static bool anonymousSystemMemoryMap()
Definition: SecurityPolicy.cpp:23
Magick::SecurityPolicy::anonymousCacheMemoryMap
static bool anonymousCacheMemoryMap()
Definition: SecurityPolicy.cpp:18
Magick::SecurityPolicy::shred
static bool shred(const int passes_)
Definition: SecurityPolicy.cpp:46
ThrowPPException
#define ThrowPPException(quiet)
Definition: Include.h:1563
GetPPException
#define GetPPException
Definition: Include.h:1544
Exception.h
SecurityPolicy.h