author | mickeyl <mickeyl> | 2005-07-10 18:23:38 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2005-07-10 18:23:38 (UTC) |
commit | 71fc7a0b9722b1a9695049f2885d5247449fbd6c (patch) (unidiff) | |
tree | 4006dff6f7333e72156426b7740a5ea725accc3a /libopie2/opiebluez/obluetooth.h | |
parent | 779359497a582d510da0448f41a14e44db6b52af (diff) | |
download | opie-71fc7a0b9722b1a9695049f2885d5247449fbd6c.zip opie-71fc7a0b9722b1a9695049f2885d5247449fbd6c.tar.gz opie-71fc7a0b9722b1a9695049f2885d5247449fbd6c.tar.bz2 |
s/opieshower/opiebluez/, infrared better goes through opienet
there's the need of a connection abstraction library which bases on opienet
and opiebluez in the future. It's for discussion if it makes sense in Opie 1.x
Diffstat (limited to 'libopie2/opiebluez/obluetooth.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opiebluez/obluetooth.h | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/libopie2/opiebluez/obluetooth.h b/libopie2/opiebluez/obluetooth.h new file mode 100644 index 0000000..30fdd18 --- a/dev/null +++ b/libopie2/opiebluez/obluetooth.h | |||
@@ -0,0 +1,141 @@ | |||
1 | /* | ||
2 | This file is part of the Opie Project | ||
3 | Copyright (C) 2005 Michael 'Mickey' Lauer <mickey@Vanille.de> | ||
4 | =. Copyright (C) The Opie Team <opie-devel@handhelds.org> | ||
5 | .=l. | ||
6 | .>+-= | ||
7 | _;:, .> :=|. This program is free software; you can | ||
8 | .> <`_, > . <= redistribute it and/or modify it under | ||
9 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public | ||
10 | .="- .-=="i, .._ License as published by the Free Software | ||
11 | - . .-<_> .<> Foundation; version 2 of the License. | ||
12 | ._= =} : | ||
13 | .%`+i> _;_. | ||
14 | .i_,=:_. -<s. This program is distributed in the hope that | ||
15 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | ||
16 | : .. .:, . . . without even the implied warranty of | ||
17 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | ||
18 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU | ||
19 | ..}^=.= = ; Library General Public License for more | ||
20 | ++= -. .` .: details. | ||
21 | : = ...= . :.=- | ||
22 | -. .:....=;==+<; You should have received a copy of the GNU | ||
23 | -_. . . )=. = Library General Public License along with | ||
24 | -- :-=` this library; see the file COPYING.LIB. | ||
25 | If not, write to the Free Software Foundation, | ||
26 | Inc., 59 Temple Place - Suite 330, | ||
27 | Boston, MA 02111-1307, USA. | ||
28 | */ | ||
29 | |||
30 | #ifndef OBLUETOOTH_H | ||
31 | #define OBLUETOOTH_H | ||
32 | |||
33 | #include <qobject.h> | ||
34 | #include <qdict.h> | ||
35 | |||
36 | namespace Opie { | ||
37 | namespace Shower { | ||
38 | |||
39 | class OBluetoothInterface; | ||
40 | |||
41 | /** | ||
42 | * @brief A container class for all bluetooth interfaces | ||
43 | * | ||
44 | * This class provides access to all available bluetooth interfaces of your computer. | ||
45 | * | ||
46 | * @author Michael 'Mickey' Lauer <mickey@vanille.de> | ||
47 | */ | ||
48 | class OBluetooth : public QObject | ||
49 | { | ||
50 | Q_OBJECT | ||
51 | |||
52 | public: | ||
53 | typedef QDict<OBluetoothInterface> InterfaceMap; | ||
54 | typedef QDictIterator<OBluetoothInterface> InterfaceIterator; | ||
55 | |||
56 | public: | ||
57 | /** | ||
58 | * @returns the number of available interfaces | ||
59 | */ | ||
60 | int count() const; | ||
61 | /** | ||
62 | * @returns a pointer to the (one and only) @ref OBluetooth instance. | ||
63 | */ | ||
64 | static OBluetooth* instance(); | ||
65 | /** | ||
66 | * @returns an iterator usable for iterating through all network interfaces. | ||
67 | */ | ||
68 | InterfaceIterator iterator() const; | ||
69 | /** | ||
70 | * @returns true, if the @a interface is present. | ||
71 | */ | ||
72 | bool isPresent( const char* interface ) const; | ||
73 | /** | ||
74 | * @returns true, if the @a interface supports the wireless extension protocol. | ||
75 | */ | ||
76 | bool isWirelessInterface( const char* interface ) const; | ||
77 | /** | ||
78 | * @returns a pointer to the @ref OBluetoothInterface object for the specified @a interface or 0, if not found. | ||
79 | * @see OBluetoothInterface | ||
80 | */ | ||
81 | OBluetoothInterface* interface( const QString& interface ) const; | ||
82 | /** | ||
83 | * @internal Rebuild the internal interface database | ||
84 | * @note Sometimes it might be useful to call this from client code, | ||
85 | * e.g. after issuing a cardctl insert | ||
86 | */ | ||
87 | void synchronize(); | ||
88 | |||
89 | protected: | ||
90 | OBluetooth(); | ||
91 | |||
92 | private: | ||
93 | static OBluetooth* _instance; | ||
94 | InterfaceMap _interfaces; | ||
95 | class OBluetoothPrivate; | ||
96 | OBluetoothPrivate *d; | ||
97 | int _fd; | ||
98 | }; | ||
99 | |||
100 | /*====================================================================================== | ||
101 | * OBluetoothInterface | ||
102 | *======================================================================================*/ | ||
103 | |||
104 | /** | ||
105 | * @brief An bluetooth interface wrapper. | ||
106 | * | ||
107 | * This class provides a wrapper for an infrared interface. All the cumbersome details of | ||
108 | * Linux ioctls are hidden under a convenient high-level interface. | ||
109 | * @warning Most of the setting methods contained in this class require the appropriate | ||
110 | * process permissions to work. | ||
111 | * | ||
112 | * @author Michael 'Mickey' Lauer <mickey@vanille.de> | ||
113 | */ | ||
114 | class OBluetoothInterface : public QObject | ||
115 | { | ||
116 | public: | ||
117 | /** | ||
118 | * Constructor. Normally you don't create @ref OBluetoothInterface objects yourself, | ||
119 | * but access them via @ref OBluetooth::interface(). | ||
120 | */ | ||
121 | OBluetoothInterface( QObject* parent, const char* name, void* devinfo ); | ||
122 | /** | ||
123 | * Destructor. | ||
124 | */ | ||
125 | virtual ~OBluetoothInterface(); | ||
126 | /** | ||
127 | * @return the MAC address of the interfaces | ||
128 | */ | ||
129 | QString macAddress() const; | ||
130 | |||
131 | private: | ||
132 | class Private; | ||
133 | Private *d; | ||
134 | }; | ||
135 | |||
136 | |||
137 | |||
138 | } | ||
139 | } | ||
140 | #endif | ||
141 | |||