80 lines
1.7 KiB
C++
80 lines
1.7 KiB
C++
/*****************************************************************************
|
|
|
|
$Id$
|
|
|
|
File: kb.cpp
|
|
Date: 24Aug07
|
|
|
|
Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
|
|
Gmail: blackhedd
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of either: 1) the GNU General Public License
|
|
as published by the Free Software Foundation; either version 2 of the
|
|
License, or (at your option) any later version; or 2) Ruby's License.
|
|
|
|
See the file COPYING for complete licensing information.
|
|
|
|
*****************************************************************************/
|
|
|
|
#include "project.h"
|
|
|
|
|
|
/**************************************
|
|
KeyboardDescriptor::KeyboardDescriptor
|
|
**************************************/
|
|
|
|
KeyboardDescriptor::KeyboardDescriptor (EventMachine_t *parent_em):
|
|
EventableDescriptor (0, parent_em),
|
|
bReadAttemptedAfterClose (false)
|
|
{
|
|
#ifdef HAVE_EPOLL
|
|
EpollEvent.events = EPOLLIN;
|
|
#endif
|
|
#ifdef HAVE_KQUEUE
|
|
MyEventMachine->ArmKqueueReader (this);
|
|
#endif
|
|
}
|
|
|
|
|
|
/***************************************
|
|
KeyboardDescriptor::~KeyboardDescriptor
|
|
***************************************/
|
|
|
|
KeyboardDescriptor::~KeyboardDescriptor()
|
|
{
|
|
}
|
|
|
|
|
|
/*************************
|
|
KeyboardDescriptor::Write
|
|
*************************/
|
|
|
|
void KeyboardDescriptor::Write()
|
|
{
|
|
// Why are we here?
|
|
throw std::runtime_error ("bad code path in keyboard handler");
|
|
}
|
|
|
|
|
|
/*****************************
|
|
KeyboardDescriptor::Heartbeat
|
|
*****************************/
|
|
|
|
void KeyboardDescriptor::Heartbeat()
|
|
{
|
|
// no-op
|
|
}
|
|
|
|
|
|
/************************
|
|
KeyboardDescriptor::Read
|
|
************************/
|
|
|
|
void KeyboardDescriptor::Read()
|
|
{
|
|
char c;
|
|
(void)read (GetSocket(), &c, 1);
|
|
_GenericInboundDispatch(&c, 1);
|
|
}
|