Swarm-NG
1.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
writer.cpp
Go to the documentation of this file.
1
/*************************************************************************
2
* Copyright (C) 2008-2010 by Mario Juric & Swarm-NG Development Team *
3
* *
4
* This program is free software; you can redistribute it and/or modify *
5
* it under the terms of the GNU General Public License as published by *
6
* the Free Software Foundation; either version 3 of the License. *
7
* *
8
* This program is distributed in the hope that it will be useful, *
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
11
* GNU General Public License for more details. *
12
* *
13
* You should have received a copy of the GNU General Public License *
14
* along with this program; if not, write to the *
15
* Free Software Foundation, Inc., *
16
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
17
************************************************************************/
18
24
#include "../common.hpp"
25
#include "../plugin.hpp"
26
27
#include "
writer.h
"
28
29
namespace
swarm {
namespace
log {
30
38
/* Must use factory class to dynamically load integrator subclass
39
* instead of using constructor. Done so that users can define their
40
* own writers that the swarm code does not need to know about at
41
* compile time
42
*/
43
44
Pwriter
writer::create
(
const
config
& cfg)
45
{
46
Pwriter w;
47
48
std::string name = cfg.
optional
(std::string(
"log_writer"
) , std::string(
"null"
) );
49
std::string plugin_name =
"writer_"
+ name;
50
51
try
{
52
w.reset( (
writer
*) (
plugin::instance
(plugin_name,cfg)) );
53
}
catch
(
plugin_not_found
& e){
54
ERROR(
"Log writer "
+ name +
" not found."
);
55
}
56
57
return
w;
58
}
59
} }
// namespace log::swarm
swarm
src
swarm
log
writer.cpp
Generated on Sun Jul 21 2013 11:11:54 for Swarm-NG by
1.8.4