VPTissue Reference Manual
LogViewer.h
Go to the documentation of this file.
1 #ifndef LOG_VIEWER_H_INCLUDED
2 #define LOG_VIEWER_H_INCLUDED
3 /*
4  * Copyright 2011-2016 Universiteit Antwerpen
5  *
6  * Licensed under the EUPL, Version 1.1 or as soon they will be approved by
7  * the European Commission - subsequent versions of the EUPL (the "Licence");
8  * You may not use this work except in compliance with the Licence.
9  * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl5
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the Licence is distributed on an "AS IS" basis,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the Licence for the specific language governing
15  * permissions and limitations under the Licence.
16  */
22 #include "sim/event/SimEvent.h"
24 
25 namespace SimPT_Shell {
26 
30 class LogViewer {
31 public:
32  LogViewer(const std::shared_ptr<SimShell::Ws::MergedPreferences>&) {}
33 
34  template <typename EventType>
35  void Update(const EventType&);
36 };
37 
38 template <typename EventType>
39 inline void LogViewer::Update(const EventType& e)
40 {
41  auto state = e.GetSource()->GetState();
42  std::cout << "=== [LOG] ===" << std::endl;
43  state.PrintToStream(std::cout);
44  std::cout << std::endl;
45 }
46 
47 }// namespace
48 
49 #endif // end-of-include-guard
50 
Definition for SimEvent.
Namespace for SimPT shell package.
Definition: Client.cpp:50
Interface for MergedPreferences.
A viewer that logs sim events to console.
Definition: LogViewer.h:30