lsst.pex.policy
19.0.0+1
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
() {
return
PolicySourcePtr
(); }
122
123
protected
:
129
PolicyPtr
getPolicy
() {
return
_policy; }
130
134
void
forgetPolicy
() { _policy.
reset
((
Policy
*)0); }
135
140
void
configured
() { _configured =
true
; }
141
148
virtual
void
done
();
149
150
private
:
151
PolicyPtr _policy;
152
bool
_configured;
153
};
154
155
}
// namespace policy
156
}
// namespace pex
157
}
// namespace lsst
158
159
#endif // LSST_PEX_POLICY_POLICYCONFIGURED_H
lsst::pex::policy::PolicyConfigured::forgetPolicy
void forgetPolicy()
set the policy pointer to null
Definition:
PolicyConfigured.h:134
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:167
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:129
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:140
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 Fri Dec 6 2019 02:40:40 for lsst.pex.policy by
1.8.13