implement sync stream printer
Stefan Schuermans authored 10 years ago
|
1) /* Blinker
2) Copyright 2011-2014 Stefan Schuermans <stefan@blinkenarea.org>
3) Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
4) a blinkenarea.org project */
5)
6) #include <iostream>
7) #include <stdlib.h>
8) #include <string>
9) #include <string.h>
10)
11) #include "Directory.h"
12) #include "File.h"
13) #include "InSyncFile.h"
14) #include "Mgrs.h"
15) #include "Module.h"
16) #include "SyncPrinter.h"
17) #include "SyncRecv.h"
18)
19) namespace Blinker {
20)
21) /**
22) * @brief constructor
23) * @param[in] name module name
24) * @param[in] mgrs managers
25) * @param[in] dirBase base directory
26) */
27) SyncPrinter::SyncPrinter(const std::string &name, Mgrs &mgrs,
28) const Directory &dirBase):
29) Module(name, mgrs, dirBase),
30) m_fileInSync(dirBase.getFile("insync"), mgrs.m_syncMgr)
31) {
32) // set up
33) m_fileInSync.setSyncRecv(this);
34) }
35)
36) /// virtual destructor
37) SyncPrinter::~SyncPrinter()
38) {
39) // clean up
40) m_fileInSync.setSyncRecv(NULL);
41) }
42)
43) /// check for update of configuration
44) void SyncPrinter::updateConfig()
45) {
46) // input sync stream name file was modified -> re-get input sync stream
47) if (m_fileInSync.checkModified())
48) m_fileInSync.update();
49) }
50)
51) /**
52) * @brief send synchronization information
53) * @param[in] sync sync stream name
54) * @param[in] pInfo synchronization information
55) */
56) void SyncPrinter::sendInfo(const std::string &sync, Info &info)
57) {
58) std::cout << "sync pause=" << (info.pause ? "true" : "false") <<
59) " name=\"" << info.name << "\"" <<
|