LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
pex_policy
11.0+1
include
lsst
pex
policy
UrnPolicyFile.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
35
#ifndef LSST_PEX_POLICY_URNPOLICYFILE_H
36
#define LSST_PEX_POLICY_URNPOLICYFILE_H
37
38
#include "
lsst/pex/policy/DefaultPolicyFile.h
"
39
40
namespace
lsst {
41
namespace
pex {
42
namespace
policy {
43
68
class
UrnPolicyFile
:
public
DefaultPolicyFile
{
69
public
:
70
85
explicit
UrnPolicyFile
(
const
std::string& urn,
86
bool
strictUrn=
false
,
bool
strictLoads=
true
)
87
// TODO: oops, this is a segfault waiting to happen -- pass a string instead?
88
:
DefaultPolicyFile
(
productNameFromUrn
(urn, strictUrn).c_str(),
89
filePathFromUrn
(urn, strictUrn),
90
reposFromUrn
(urn, strictUrn),
91
strictLoads),
92
_urn
(urn) {}
93
100
static
std::string
productNameFromUrn
(
const
std::string& urn,
101
bool
strictUrn=
false
);
102
109
static
std::string
filePathFromUrn
(
const
std::string& urn,
110
bool
strictUrn=
false
);
111
118
static
std::string
reposFromUrn
(
const
std::string& urn,
119
bool
strictUrn=
false
);
120
122
125
static
const
std::string
URN_PREFIX
;
// "urn:eupspkg:";
126
static
const
std::string
URN_PREFIX_ABBREV
;
// "@";
128
129
137
static
bool
looksLikeUrn
(
const
std::string& s,
bool
strict=
false
);
138
139
private
:
140
const
std::string
_urn
;
141
};
142
143
}}}
// end namespace lsst::pex::policy
144
145
#endif // LSST_PEX_POLICY_URNPOLICYFILE_H
lsst::pex::policy::UrnPolicyFile::_urn
const std::string _urn
Definition:
UrnPolicyFile.h:140
lsst::pex::policy::UrnPolicyFile
A Policy file in the installation directory of an LSST product, referred to using a URN...
Definition:
UrnPolicyFile.h:68
DefaultPolicyFile.h
the definition of the DefaultPolicyFile class
lsst::pex::policy::UrnPolicyFile::URN_PREFIX_ABBREV
static const std::string URN_PREFIX_ABBREV
Definition:
UrnPolicyFile.h:126
lsst::pex::policy::DefaultPolicyFile
a representation of a default Policy file that is stored as a file in the installation directory of a...
Definition:
DefaultPolicyFile.h:69
lsst::pex::policy::UrnPolicyFile::URN_PREFIX
static const std::string URN_PREFIX
Definition:
UrnPolicyFile.h:125
lsst::pex::policy::UrnPolicyFile::productNameFromUrn
static std::string productNameFromUrn(const std::string &urn, bool strictUrn=false)
lsst::pex::policy::UrnPolicyFile::looksLikeUrn
static bool looksLikeUrn(const std::string &s, bool strict=false)
lsst::pex::policy::UrnPolicyFile::reposFromUrn
static std::string reposFromUrn(const std::string &urn, bool strictUrn=false)
lsst::pex::policy::UrnPolicyFile::filePathFromUrn
static std::string filePathFromUrn(const std::string &urn, bool strictUrn=false)
lsst::pex::policy::UrnPolicyFile::UrnPolicyFile
UrnPolicyFile(const std::string &urn, bool strictUrn=false, bool strictLoads=true)
Definition:
UrnPolicyFile.h:85
Generated on Thu Sep 24 2015 02:29:23 for LSSTApplications by
1.8.5