Mir
Public Types | Public Member Functions | Protected Member Functions | List of all members
mir::input::receiver::android::InputReceiver Class Reference

Synchronously receives input events in a blocking manner. More...

#include <android_input_receiver.h>

Inheritance diagram for mir::input::receiver::android::InputReceiver:
[legend]

Public Types

typedef std::function< std::chrono::nanoseconds(int)> AndroidClock
 

Public Member Functions

 InputReceiver (droidinput::sp< droidinput::InputChannel > const &input_channel, std::shared_ptr< XKBMapper > const &keymapper, std::function< void(MirEvent *)> const &event_handling_callback, std::shared_ptr< InputReceiverReport > const &report, AndroidClock clock=systemTime)
 
 InputReceiver (int fd, std::shared_ptr< XKBMapper > const &keymapper, std::function< void(MirEvent *)> const &event_handling_callback, std::shared_ptr< InputReceiverReport > const &report, AndroidClock clock=systemTime)
 
virtual ~InputReceiver ()
 
Fd watch_fd () const override
 Get a poll()able file descriptor. More...
 
bool dispatch (dispatch::FdEvents events) override
 Dispatch one pending event. More...
 
dispatch::FdEvents relevant_events () const override
 The set of file-descriptor events this Dispatchable handles. More...
 
- Public Member Functions inherited from mir::dispatch::Dispatchable
 Dispatchable ()=default
 
virtual ~Dispatchable ()=default
 
Dispatchableoperator= (Dispatchable const &)=delete
 
 Dispatchable (Dispatchable const &)=delete
 

Protected Member Functions

 InputReceiver (const InputReceiver &)=delete
 
InputReceiveroperator= (const InputReceiver &)=delete
 

Detailed Description

Synchronously receives input events in a blocking manner.

Member Typedef Documentation

typedef std::function<std::chrono::nanoseconds(int)> mir::input::receiver::android::InputReceiver::AndroidClock

Constructor & Destructor Documentation

mir::input::receiver::android::InputReceiver::InputReceiver ( droidinput::sp< droidinput::InputChannel > const &  input_channel,
std::shared_ptr< XKBMapper > const &  keymapper,
std::function< void(MirEvent *)> const &  event_handling_callback,
std::shared_ptr< InputReceiverReport > const &  report,
AndroidClock  clock = systemTime 
)
mir::input::receiver::android::InputReceiver::InputReceiver ( int  fd,
std::shared_ptr< XKBMapper > const &  keymapper,
std::function< void(MirEvent *)> const &  event_handling_callback,
std::shared_ptr< InputReceiverReport > const &  report,
AndroidClock  clock = systemTime 
)
virtual mir::input::receiver::android::InputReceiver::~InputReceiver ( )
virtual
mir::input::receiver::android::InputReceiver::InputReceiver ( const InputReceiver )
protecteddelete

Member Function Documentation

bool mir::input::receiver::android::InputReceiver::dispatch ( dispatch::FdEvents  events)
overridevirtual

Dispatch one pending event.

Parameters
[in]eventThe set of events current on the file-descriptor
Returns
False iff no more events will be produced by this Dispatchable. Dispatch should no longer be called.
Note
This will dispatch at most one event. If there are multiple events specified in event (eg: readable | remote_closed) then dispatch will process only one.
It is harmless to call dispatch() with an event that does not contain any of the events from relevant_events(). The function will do nothing in such a case.
An implementation of dispatch() MUST handle FdEvent::error, if only to return false and terminate further event dispatch.

Implements mir::dispatch::Dispatchable.

InputReceiver& mir::input::receiver::android::InputReceiver::operator= ( const InputReceiver )
protecteddelete
dispatch::FdEvents mir::input::receiver::android::InputReceiver::relevant_events ( ) const
overridevirtual

The set of file-descriptor events this Dispatchable handles.

Implements mir::dispatch::Dispatchable.

Fd mir::input::receiver::android::InputReceiver::watch_fd ( ) const
overridevirtual

Get a poll()able file descriptor.

Returns
A file descriptor usable with poll() or equivalent function calls. relevant_events() contains the set of event types to watch for.

Implements mir::dispatch::Dispatchable.


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

Copyright © 2012-2015 Canonical Ltd.
Generated on Thu Sep 8 14:50:19 UTC 2016