lsst.daf.persistence
14.0-14-g87d16e8+4
src
Formatter.cc
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
25
38
#ifndef __GNUC__
39
# define __attribute__(x)
/*NOTHING*/
40
#endif
41
static
char
const
* SVNid
__attribute__
((unused)) =
"$Id$"
;
42
43
#include "
lsst/daf/persistence/Formatter.h
"
44
45
#include "
lsst/daf/persistence/FormatterRegistry.h
"
46
47
namespace
lsst
{
48
namespace
daf {
49
namespace
persistence {
50
56
FormatterRegistration::FormatterRegistration
(
57
std::string
const
& persistableName,
58
std::type_info
const
& persistableType,
59
Formatter::FactoryPtr
factory) {
60
FormatterRegistry::getInstance
().
registerFormatter
(persistableName,
61
persistableType,
62
factory);
63
}
64
68
Formatter::Formatter
(
std::type_info
const
& type) :
69
lsst
::daf::base::Citizen(type) {
70
}
71
74
Formatter::~Formatter
(
void
) {
75
}
76
84
Formatter::Ptr
Formatter::lookupFormatter
(
85
std::string
const
& name,
lsst::pex::policy::Policy::Ptr
policy) {
86
return
FormatterRegistry::getInstance
().
lookupFormatter
(name, policy);
87
}
88
94
Formatter::Ptr
Formatter::lookupFormatter
(
95
std::type_info
const
& type,
lsst::pex::policy::Policy::Ptr
policy) {
96
return
FormatterRegistry::getInstance
().
lookupFormatter
(type, policy);
97
}
98
99
}}}
// namespace lsst::daf::persistence
lsst::daf::persistence::FormatterRegistration::FormatterRegistration
FormatterRegistration(std::string const &persistableName, std::type_info const &persistableType, Formatter::FactoryPtr factory)
Constructor.
Definition:
Formatter.cc:56
__attribute__
#define __attribute__(x)
Definition:
Formatter.cc:39
std::shared_ptr
lsst::daf::persistence::Formatter::~Formatter
virtual ~Formatter(void)
Minimal destructor.
Definition:
Formatter.cc:74
lsst::daf::persistence::Formatter::Formatter
Formatter(std::type_info const &type)
Constructor.
Definition:
Formatter.cc:68
lsst::daf::persistence::FormatterRegistry::getInstance
static FormatterRegistry & getInstance(void)
Get a reference to the singleton instance of the FormatterRegistry.
Definition:
FormatterRegistry.cc:56
std::type_info
std::string
STL class.
Formatter.h
Interface for Formatter abstract base class.
lsst
FormatterRegistry.h
Interface for FormatterRegistry class.
lsst::daf::persistence::Formatter::lookupFormatter
static Formatter::Ptr lookupFormatter(std::string const &persistableType, lsst::pex::policy::Policy::Ptr policy)
Lookup Formatter subclass by name of Persistable subclass.
Definition:
Formatter.cc:84
lsst::daf::persistence::FormatterRegistry::registerFormatter
void registerFormatter(std::string const &persistableName, std::type_info const &persistableType, Formatter::FactoryPtr factory)
Register a factory for a Formatter subclass using the name and type of the Persistable subclass it fo...
Definition:
FormatterRegistry.cc:67
lsst::daf::persistence::FormatterRegistry::lookupFormatter
Formatter::Ptr lookupFormatter(std::type_info const &persistableType, lsst::pex::policy::Policy::Ptr policy)
Create a new instance of a Formatter subclass given the typeid() of its corresponding Persistable sub...
Definition:
FormatterRegistry.cc:81
lsst::daf::persistence::Formatter::FactoryPtr
Ptr(* FactoryPtr)(lsst::pex::policy::Policy::Ptr)
Pointer to a (static) factory function for a Formatter subclass.
Definition:
Formatter.h:85
Generated on Sat Dec 9 2017 11:14:06 for lsst.daf.persistence by
1.8.13