00001 /* ==================================================== ======== ======= * 00002 * 00003 * unatappli.hpp [Native Layer: platform dependent implementation] 00004 * Ubit Project [Elc][2003] 00005 * Author: Eric Lecolinet 00006 * 00007 * Part of the Ubit Toolkit: A Brick Construction Game Model for Creating GUIs 00008 * 00009 * (C) 1999-2003 Eric Lecolinet @ ENST Paris 00010 * WWW: http://www.enst.fr/~elc/ubit Email: elc@enst.fr (subject: ubit) 00011 * 00012 * *********************************************************************** 00013 * COPYRIGHT NOTICE : 00014 * THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY AND WITHOUT EVEN THE 00015 * IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 00016 * YOU CAN REDISTRIBUTE IT AND/OR MODIFY IT UNDER THE TERMS OF THE GNU 00017 * GENERAL PUBLIC LICENSE AS PUBLISHED BY THE FREE SOFTWARE FOUNDATION; 00018 * EITHER VERSION 2 OF THE LICENSE, OR (AT YOUR OPTION) ANY LATER VERSION. 00019 * SEE FILES 'COPYRIGHT' AND 'COPYING' FOR MORE DETAILS. 00020 * *********************************************************************** 00021 * 00022 * ==================================================== [Elc:03] ======= * 00023 * ==================================================== ======== ======= */ 00024 00025 #ifndef _unatappli_hpp_ 00026 #define _unatappli_hpp_ 00027 //pragma ident "@(#)unatappli.hpp ubit:03.06.04" 00028 #include <ubit/ubit_config.h> 00029 #include <ubit/unatdisp.hpp> 00030 00031 00032 class UNatAppli { // : public UNatDisp { 00033 public: 00034 UNatAppli(class UAppli&, class UNatDisp&); 00035 virtual ~UNatAppli(); 00036 00037 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 00038 00039 void setProperties(int argc, char** argv); 00041 00042 void eventLoop(int& loop_status); 00044 00045 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 00046 00047 static void getTime(struct timeval&); 00048 static u_time convertToMilliSec(struct timeval&); 00049 bool resetTimers(UGroup* timers, struct timeval& delay); 00050 void fireTimers(UGroup* timers); 00051 00052 void resetInputs(UGroup* inputs, fd_set& read_set, int& maxfd); 00053 void cleanInputs(UGroup* inputs); 00054 void fireInputs(UGroup* inputs, fd_set& read_set); 00055 00056 private: 00057 class UAppli& appli; 00058 class UNatDisp& natdisp; 00059 }; 00060 00061 #endif 00062 /* ==================================================== [TheEnd] ======= */ 00063 /* ==================================================== [Elc:03] ======= */