ubit
usource.hpp
1 /************************************************************************
2 *
3 * usource.hpp: file and socket data management
4  * Ubit GUI Toolkit - Version 6
5  * (C) 2009 | Eric Lecolinet | TELECOM ParisTech | http://www.enst.fr/~elc/ubit
6 *
7 * ***********************************************************************
8 * COPYRIGHT NOTICE :
9 * THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY AND WITHOUT EVEN THE
10 * IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
11 * YOU CAN REDISTRIBUTE IT AND/OR MODIFY IT UNDER THE TERMS OF THE GNU
12 * GENERAL PUBLIC LICENSE AS PUBLISHED BY THE FREE SOFTWARE FOUNDATION;
13 * EITHER VERSION 2 OF THE LICENSE, OR (AT YOUR OPTION) ANY LATER VERSION.
14 * SEE FILES 'COPYRIGHT' AND 'COPYING' FOR MORE DETAILS.
15 * ***********************************************************************/
16 
17 #ifndef _usource_hpp_
18 #define _usource_hpp_ 1
19 #include <ubit/uobject.hpp>
20 namespace ubit {
21 
35 class USource : public UNode { // !!!@@@ devrait deriver de UObject !!!
36 public:
37  UCLASS(USource)
38 
39  USource(int source =-1);
41 
42  virtual ~USource();
43 
44  virtual void onAction(UCall& callback);
50  virtual void onInput(UCall& callback) {onAction(callback);}
52 
53  virtual void onClose(UCall& callback);
55 
56  virtual void open(int source);
58 
59  virtual void close();
61 
62  int getSource() const {return source;}
64 
65  bool isOpened() const {return is_opened;}
67 
68  // - - - impl - - -
69 
70  virtual void fireInput();
71  virtual void fireClose();
72 
73 private:
74  friend class UAppliImpl;
75  bool is_opened;
76  int source;
77  int gid; // input ID when GDK is used
78 };
79 
80 }
81 #endif
virtual void open(int source)
starts listening to the source (a file, a socket, a pipe ID).
Definition: usource.cpp:53
virtual void onInput(UCall &callback)
synonym for onAction().
Definition: usource.hpp:50
Definition: uappliImpl.hpp:40
Base class of objects that can be added to the UBIT scene graph (SEE DETAILS!).
Definition: unode.hpp:38
virtual void close()
stops listening to the source.
Definition: usource.cpp:66
virtual void onClose(UCall &callback)
adds a callback that is fired when the source is closed.
Definition: usource.cpp:83
base class of callback objects for firing functions or methods.
Definition: ucall.hpp:144
a USource object fires callbacks when a file or a socket gets data.
Definition: usource.hpp:35
bool isOpened() const
returns true if the USource is opened.
Definition: usource.hpp:65
USource(int source=-1)
creates a new Source listener and start listening to this source if >= 0.
Definition: usource.cpp:30
Definition: uhardfont.hpp:31
int getSource() const
returns the OS ID of the the source.
Definition: usource.hpp:62
virtual void onAction(UCall &callback)
adds a callback that is fired when data is received.
Definition: usource.cpp:77