SNode.C
Loading...
Searching...
No Matches
apps::towercalculator::KeyboardReader Class Reference

#include <KeyboardReader.h>

Inheritance diagram for apps::towercalculator::KeyboardReader:
Collaboration diagram for apps::towercalculator::KeyboardReader:

Public Member Functions

 KeyboardReader (const std::function< void(long)> &cb)
 

Protected Member Functions

void readEvent () override
 
void unobservedEvent () override
 

Protected Attributes

std::function< void(long)> callBack
 

Additional Inherited Members

- Private Member Functions inherited from core::eventreceiver::ReadEventReceiver
 ReadEventReceiver (const std::string &name, const utils::Timeval &timeout)
 
virtual void readTimeout ()
 
- Private Member Functions inherited from core::DescriptorEventReceiver
 DescriptorEventReceiver (const std::string &name, DescriptorEventPublisher &descriptorEventPublisher, const utils::Timeval &timeout=TIMEOUT::DISABLE)
 
int getRegisteredFd () const
 
bool isEnabled () const
 
bool isSuspended () const
 
void setTimeout (const utils::Timeval &timeout)
 
utils::Timeval getTimeout (const utils::Timeval &currentTime) const
 
void checkTimeout (const utils::Timeval &currentTime)
 
bool enable (int fd)
 
void disable ()
 
void suspend ()
 
void resume ()
 
- Private Member Functions inherited from core::EventReceiver
 EventReceiver (const std::string &name)
 
 EventReceiver (EventReceiver &)=delete
 
 EventReceiver (EventReceiver &&)=delete
 
EventReceiveroperator= (EventReceiver &)=delete
 
EventReceiveroperator= (EventReceiver &&)=delete
 
virtual void destruct ()
 
void span ()
 
void relax ()
 
const std::string & getName () const
 
virtual ~EventReceiver ()=default
 
- Static Private Member Functions inherited from core::EventReceiver
static void atNextTick (const std::function< void(void)> &callBack)
 

Detailed Description

Definition at line 33 of file KeyboardReader.h.

Constructor & Destructor Documentation

◆ KeyboardReader()

apps::towercalculator::KeyboardReader::KeyboardReader ( const std::function< void(long)> & cb)
explicit

Definition at line 36 of file KeyboardReader.cpp.

37 : core::eventreceiver::ReadEventReceiver("KeyboardReader", 0)
38 , callBack(cb) {
39 if (!enable(STDIN_FILENO)) {
40 std::cout << "KeyboardReader not activated";
41 }
42 }
std::function< void(long)> callBack

References KeyboardReader().

Referenced by KeyboardReader().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ readEvent()

void apps::towercalculator::KeyboardReader::readEvent ( )
overrideprotectedvirtual

Implements core::eventreceiver::ReadEventReceiver.

Definition at line 44 of file KeyboardReader.cpp.

44 {
45 std::cout << "ReadEvent" << std::endl;
46 /*
47 long value;
48
49 std::cin >> long;
50 */
51
52 char buffer[256];
53 const ssize_t ret = read(STDIN_FILENO, buffer, 256);
54
55 if (ret > 0) {
56 buffer[ret] = 0;
57 try {
58 long value = 0;
59 value = std::stol(buffer);
60
61 std::cout << "Value = " << value << std::endl;
62
63 callBack(value);
64 } catch (std::invalid_argument& e) {
65 std::cout << e.what() << ": "
66 << "no conversion possible: input = " << buffer << std::endl;
67 }
68 }
69 }
ssize_t read(int fd, void *buf, std::size_t count)
Definition unistd.cpp:35

◆ unobservedEvent()

void apps::towercalculator::KeyboardReader::unobservedEvent ( )
overrideprotectedvirtual

Implements core::Observer.

Definition at line 71 of file KeyboardReader.cpp.

71 {
72 // delete this; // do not delete
73 }

Member Data Documentation

◆ callBack

std::function<void(long)> apps::towercalculator::KeyboardReader::callBack
protected

Definition at line 41 of file KeyboardReader.h.


The documentation for this class was generated from the following files: