lsst.pex.policy
17.0.1+9
include
lsst
pex
policy
PolicyConfigured.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
3
/*
4
* LSST Data Management System
5
* Copyright 2008, 2009, 2010 LSST Corporation.
6
*
7
* This product includes software developed by the
8
* LSST Project (http://www.lsst.org/).
9
*
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the LSST License Statement and
21
* the GNU General Public License along with this program. If not,
22
* see <http://www.lsstcorp.org/LegalNotices/>.
23
*/
24
32
#ifndef LSST_PEX_POLICY_POLICYCONFIGURED_H
33
#define LSST_PEX_POLICY_POLICYCONFIGURED_H
34
35
#include "
lsst/pex/policy/PolicyFile.h
"
36
#include "
lsst/pex/policy/Policy.h
"
37
38
namespace
lsst
{
39
namespace
pex {
40
namespace
policy {
41
77
class
PolicyConfigured
{
78
public
:
79
typedef
Policy::Ptr
PolicyPtr
;
80
typedef
Policy::ConstPtr
ConstPolicyPtr
;
81
typedef
std::shared_ptr<PolicySource>
PolicySourcePtr
;
82
88
PolicyConfigured
(
const
PolicyPtr& policy) : _policy(policy) { }
89
93
PolicyConfigured
() : _policy() { }
94
98
virtual
~PolicyConfigured
();
99
108
ConstPolicyPtr
getPolicy
()
const
{
return
_policy; }
109
113
bool
isConfigured
()
const
{
return
_configured; }
114
121
static
PolicySourcePtr
getDefaultPolicySource
() {
122
return
PolicySourcePtr
();
123
}
124
125
protected
:
126
132
PolicyPtr
getPolicy
() {
return
_policy; }
133
137
void
forgetPolicy
() { _policy.
reset
((
Policy
*)0); }
138
143
void
configured
() { _configured =
true
; }
144
151
virtual
void
done
();
152
153
private
:
154
PolicyPtr _policy;
155
bool
_configured;
156
157
};
158
159
}}}
// end namespace lsst::pex::policy
160
161
162
163
#endif // LSST_PEX_POLICY_POLICYCONFIGURED_H
lsst::pex::policy::PolicyConfigured::forgetPolicy
void forgetPolicy()
set the policy pointer to null
Definition:
PolicyConfigured.h:137
std::shared_ptr
lsst::pex::policy::PolicyConfigured
an interface to indicate that a class is configured with a Policy
Definition:
PolicyConfigured.h:77
PolicyFile.h
definition of the PolicyFile class
lsst::pex::policy::PolicyConfigured::~PolicyConfigured
virtual ~PolicyConfigured()
delete this interface
Definition:
PolicyConfigured.cc:32
lsst::pex::policy::PolicyConfigured::PolicyConfigured
PolicyConfigured()
construct without configuration from a policy
Definition:
PolicyConfigured.h:93
lsst::pex::policy::Policy
a container for holding hierarchical configuration data in memory.
Definition:
Policy.h:169
lsst::pex::policy::PolicyConfigured::getDefaultPolicySource
static PolicySourcePtr getDefaultPolicySource()
return a PolicySource pointer that can be used to create a default Policy for instances of this class...
Definition:
PolicyConfigured.h:121
lsst::pex::policy::PolicyConfigured::getPolicy
PolicyPtr getPolicy()
return the policy that should be used to configure this object.
Definition:
PolicyConfigured.h:132
lsst::pex::policy::PolicyConfigured::ConstPolicyPtr
Policy::ConstPtr ConstPolicyPtr
Definition:
PolicyConfigured.h:80
lsst
Policy.h
std::shared_ptr::reset
T reset(T... args)
lsst::pex::policy::PolicyConfigured::getPolicy
ConstPolicyPtr getPolicy() const
return the policy that is being used to configure this object.
Definition:
PolicyConfigured.h:108
lsst::pex::policy::PolicyConfigured::done
virtual void done()
indicate that this object is done with the policy provided in the constructor.
Definition:
PolicyConfigured.cc:34
lsst::pex::policy::PolicyConfigured::PolicyPtr
Policy::Ptr PolicyPtr
Definition:
PolicyConfigured.h:79
lsst::pex::policy::PolicyConfigured::configured
void configured()
indicate that this object is now configured.
Definition:
PolicyConfigured.h:143
lsst::pex::policy::PolicyConfigured::PolicyConfigured
PolicyConfigured(const PolicyPtr &policy)
configure this class with a policy.
Definition:
PolicyConfigured.h:88
lsst::pex::policy::PolicyConfigured::PolicySourcePtr
std::shared_ptr< PolicySource > PolicySourcePtr
Definition:
PolicyConfigured.h:81
lsst::pex::policy::PolicyConfigured::isConfigured
bool isConfigured() const
return true if this object has been configured
Definition:
PolicyConfigured.h:113
Generated on Sat Jun 1 2019 05:26:32 for lsst.pex.policy by
1.8.13